/usr/share/doc/libghc-diagrams-lib-doc/html/Diagrams-Segment.html is in libghc-diagrams-lib-doc 1.4.2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Diagrams.Segment</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="file:///usr/share/javascript/mathjax/MathJax.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Diagrams-Segment.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Diagrams-Segment.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">diagrams-lib-1.4.2: Embedded domain-specific language for declarative graphics</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(c) 2011-2013 diagrams-lib team (see LICENSE)</td></tr><tr><th>License</th><td>BSD-style (see LICENSE)</td></tr><tr><th>Maintainer</th><td>diagrams-discuss@googlegroups.com</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Diagrams.Segment</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Open/closed tags</a></li><li><a href="#g:2">Segment offsets</a></li><li><a href="#g:3">Constructing and modifying segments</a></li><li><a href="#g:4">Fixed (absolutely located) segments</a></li><li><a href="#g:5">Segment measures</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>A <em>segment</em> is a translation-invariant, atomic path. Currently,
there are two types: linear (<em>i.e.</em> just a straight line to the
endpoint) and cubic Bézier curves (<em>i.e.</em> a curve to an endpoint
with two control points). This module contains tools for creating
and manipulating segments, as well as a definition of segments with
a fixed location (useful for backend implementors).</p><p>Generally speaking, casual users of diagrams should not need this
module; the higher-level functionality provided by
<a href="Diagrams-Trail.html">Diagrams.Trail</a>, <a href="Diagrams-TrailLike.html">Diagrams.TrailLike</a>, and <a href="Diagrams-Path.html">Diagrams.Path</a> should
usually suffice. However, directly manipulating segments can
occasionally be useful.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Open">Open</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Closed">Closed</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Offset">Offset</a> c v n <span class="keyword">where</span><ul class="subs"><li><a href="#v:OffsetOpen">OffsetOpen</a> :: <a href="Diagrams-Segment.html#t:Offset">Offset</a> <a href="Diagrams-Segment.html#t:Open">Open</a> v n</li><li><a href="#v:OffsetClosed">OffsetClosed</a> :: v n -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n</li></ul></li><li class="src short"><a href="#v:segOffset">segOffset</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> v n</li><li class="src short"><span class="keyword">data</span> <a href="#t:Segment">Segment</a> c v n<ul class="subs"><li>= <a href="#v:Linear">Linear</a> !(<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n)</li><li>| <a href="#v:Cubic">Cubic</a> !(v n) !(v n) !(<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n)</li></ul></li><li class="src short"><a href="#v:straight">straight</a> :: v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n</li><li class="src short"><a href="#v:bezier3">bezier3</a> :: v n -> v n -> v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n</li><li class="src short"><a href="#v:b-233-zier3">bézier3</a> :: v n -> v n -> v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n</li><li class="src short"><a href="#v:reverseSegment">reverseSegment</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v) => <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n</li><li class="src short"><a href="#v:mapSegmentVectors">mapSegmentVectors</a> :: (v n -> v' n') -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v' n'</li><li class="src short"><a href="#v:openLinear">openLinear</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Open">Open</a> v n</li><li class="src short"><a href="#v:openCubic">openCubic</a> :: v n -> v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Open">Open</a> v n</li><li class="src short"><span class="keyword">data</span> <a href="#t:FixedSegment">FixedSegment</a> v n<ul class="subs"><li>= <a href="#v:FLinear">FLinear</a> (<a href="Diagrams-Points.html#t:Point">Point</a> v n) (<a href="Diagrams-Points.html#t:Point">Point</a> v n)</li><li>| <a href="#v:FCubic">FCubic</a> (<a href="Diagrams-Points.html#t:Point">Point</a> v n) (<a href="Diagrams-Points.html#t:Point">Point</a> v n) (<a href="Diagrams-Points.html#t:Point">Point</a> v n) (<a href="Diagrams-Points.html#t:Point">Point</a> v n)</li></ul></li><li class="src short"><a href="#v:mkFixedSeg">mkFixedSeg</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v) => <a href="Diagrams-Located.html#t:Located">Located</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n</li><li class="src short"><a href="#v:fromFixedSeg">fromFixedSeg</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v) => <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="Diagrams-Located.html#t:Located">Located</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</li><li class="src short"><a href="#v:fixedSegIso">fixedSegIso</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v) => <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Iso-39-">Iso'</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) (<a href="Diagrams-Located.html#t:Located">Located</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n))</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:SegCount">SegCount</a> = <a href="#v:SegCount">SegCount</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Sum">Sum</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>)</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:ArcLength">ArcLength</a> n = <a href="#v:ArcLength">ArcLength</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Sum">Sum</a> (<a href="file:///usr/share/doc/libghc-intervals-doc/html/Numeric-Interval-Kaucher.html#t:Interval">Interval</a> n), n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Sum">Sum</a> (<a href="file:///usr/share/doc/libghc-intervals-doc/html/Numeric-Interval-Kaucher.html#t:Interval">Interval</a> n))</li><li class="src short"><a href="#v:getArcLengthCached">getArcLengthCached</a> :: <a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n -> <a href="file:///usr/share/doc/libghc-intervals-doc/html/Numeric-Interval-Kaucher.html#t:Interval">Interval</a> n</li><li class="src short"><a href="#v:getArcLengthFun">getArcLengthFun</a> :: <a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n -> n -> <a href="file:///usr/share/doc/libghc-intervals-doc/html/Numeric-Interval-Kaucher.html#t:Interval">Interval</a> n</li><li class="src short"><a href="#v:getArcLengthBounded">getArcLengthBounded</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> n) => n -> <a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n -> <a href="file:///usr/share/doc/libghc-intervals-doc/html/Numeric-Interval-Kaucher.html#t:Interval">Interval</a> n</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:TotalOffset">TotalOffset</a> v n = <a href="#v:TotalOffset">TotalOffset</a> (v n)</li><li class="src short"><span class="keyword">data</span> <a href="#t:OffsetEnvelope">OffsetEnvelope</a> v n = <a href="#v:OffsetEnvelope">OffsetEnvelope</a> {<ul class="subs"><li><a href="#v:_oeOffset">_oeOffset</a> :: !(<a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n)</li><li><a href="#v:_oeEnvelope">_oeEnvelope</a> :: <a href="Diagrams-Envelope.html#t:Envelope">Envelope</a> v n</li></ul>}</li><li class="src short"><a href="#v:oeOffset">oeOffset</a> :: <span class="keyword">forall</span> v n. <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Lens-39-">Lens'</a> (<a href="Diagrams-Segment.html#t:OffsetEnvelope">OffsetEnvelope</a> v n) (<a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n)</li><li class="src short"><a href="#v:oeEnvelope">oeEnvelope</a> :: <span class="keyword">forall</span> v n. <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Lens-39-">Lens'</a> (<a href="Diagrams-Segment.html#t:OffsetEnvelope">OffsetEnvelope</a> v n) (<a href="Diagrams-Envelope.html#t:Envelope">Envelope</a> v n)</li><li class="src short"><span class="keyword">type</span> <a href="#t:SegMeasure">SegMeasure</a> v n = <a href="Diagrams-Segment.html#t:SegCount">SegCount</a> <a href="file:///usr/share/doc/libghc-monoid-extras-doc/html/Data-Monoid-MList.html#t::::">:::</a> (<a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n <a href="file:///usr/share/doc/libghc-monoid-extras-doc/html/Data-Monoid-MList.html#t::::">:::</a> (<a href="Diagrams-Segment.html#t:OffsetEnvelope">OffsetEnvelope</a> v n <a href="file:///usr/share/doc/libghc-monoid-extras-doc/html/Data-Monoid-MList.html#t::::">:::</a> ()))</li></ul></div><div id="interface"><h1 id="g:1">Open/closed tags</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Open" class="def">Open</a> <a href="src/Diagrams-Segment.html#Open" class="link">Source</a> <a href="#t:Open" class="selflink">#</a></p><div class="doc"><p>Type tag for open segments.</p></div><div class="subs instances"><p id="control.i:Open" class="caption collapser" onclick="toggleSection('i:Open')">Instances</p><div id="section.i:Open" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Open:Serialize:1" class="instance expander" onclick="toggleSection('i:id:Open:Serialize:1')"></span> <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize.html#t:Serialize">Serialize</a> (v n) => <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize.html#t:Serialize">Serialize</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Open">Open</a> v n)</span> <a href="src/Diagrams-Segment.html#line-594" class="link">Source</a> <a href="#t:Open" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Open:Serialize:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize-Put.html#t:Putter">Putter</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Open">Open</a> v n) <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize-Get.html#t:Get">Get</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Open">Open</a> v n) <a href="#v:get" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Closed" class="def">Closed</a> <a href="src/Diagrams-Segment.html#Closed" class="link">Source</a> <a href="#t:Closed" class="selflink">#</a></p><div class="doc"><p>Type tag for closed segments.</p></div><div class="subs instances"><p id="control.i:Closed" class="caption collapser" onclick="toggleSection('i:Closed')">Instances</p><div id="section.i:Closed" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Closed:EndValues:1" class="instance expander" onclick="toggleSection('i:id:Closed:EndValues:1')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n) => <a href="Diagrams-Parametric.html#t:EndValues">EndValues</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n))</span> <a href="src/Diagrams-Parametric.html#line-98" class="link">Source</a> <a href="#t:EndValues" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Closed:EndValues:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:atStart">atStart</a> :: <a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n))) <a href="src/Diagrams-Parametric.html#atStart" class="link">Source</a> <a href="#v:atStart" class="selflink">#</a></p><p class="src"><a href="#v:atEnd">atEnd</a> :: <a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n))) <a href="src/Diagrams-Parametric.html#atEnd" class="link">Source</a> <a href="#v:atEnd" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Closed:Parametric:2" class="instance expander" onclick="toggleSection('i:id:Closed:Parametric:2')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n) => <a href="Diagrams-Parametric.html#t:Parametric">Parametric</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n))</span> <a href="src/Diagrams-Parametric.html#line-92" class="link">Source</a> <a href="#t:Parametric" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Closed:Parametric:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:atParam">atParam</a> :: <a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) -> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n))) <a href="src/Diagrams-Parametric.html#atParam" class="link">Source</a> <a href="#v:atParam" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Closed:ToPath:3" class="instance expander" onclick="toggleSection('i:id:Closed:ToPath:3')"></span> <a href="Diagrams-Path.html#t:ToPath">ToPath</a> (<a href="Diagrams-Located.html#t:Located">Located</a> [<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n])</span> <a href="src/Diagrams-Path.html#line-213" class="link">Source</a> <a href="#t:ToPath" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Closed:ToPath:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:toPath">toPath</a> :: <a href="Diagrams-Located.html#t:Located">Located</a> [<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n] -> <a href="Diagrams-Path.html#t:Path">Path</a> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Located.html#t:Located">Located</a> [<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n])) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Located.html#t:Located">Located</a> [<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n])) <a href="src/Diagrams-Path.html#toPath" class="link">Source</a> <a href="#v:toPath" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Closed:ToPath:4" class="instance expander" onclick="toggleSection('i:id:Closed:ToPath:4')"></span> <a href="Diagrams-Path.html#t:ToPath">ToPath</a> (<a href="Diagrams-Located.html#t:Located">Located</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n))</span> <a href="src/Diagrams-Path.html#line-209" class="link">Source</a> <a href="#t:ToPath" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Closed:ToPath:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:toPath">toPath</a> :: <a href="Diagrams-Located.html#t:Located">Located</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="Diagrams-Path.html#t:Path">Path</a> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Located.html#t:Located">Located</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n))) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Located.html#t:Located">Located</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n))) <a href="src/Diagrams-Path.html#toPath" class="link">Source</a> <a href="#v:toPath" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Closed:Cons:5" class="instance expander" onclick="toggleSection('i:id:Closed:Cons:5')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> u, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n') => <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Cons.html#t:Cons">Cons</a> (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> v n) (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> u n') (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> u n')</span> <a href="#t:Cons" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Closed:Cons:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_Cons">_Cons</a> :: <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Prism">Prism</a> (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> v n) (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> u n') (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n, <a href="Diagrams-Trail.html#t:SegTree">SegTree</a> v n) (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> u n', <a href="Diagrams-Trail.html#t:SegTree">SegTree</a> u n') <a href="#v:_Cons" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Closed:Snoc:6" class="instance expander" onclick="toggleSection('i:id:Closed:Snoc:6')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> u, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n') => <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Cons.html#t:Snoc">Snoc</a> (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> v n) (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> u n') (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> u n')</span> <a href="#t:Snoc" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Closed:Snoc:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_Snoc">_Snoc</a> :: <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Prism">Prism</a> (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> v n) (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> u n') (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> v n, <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> u n', <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> u n') <a href="#v:_Snoc" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Closed:Measured:7" class="instance expander" onclick="toggleSection('i:id:Closed:Measured:7')"></span> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v) => <a href="file:///usr/share/doc/libghc-fingertree-doc/html/Data-FingerTree.html#t:Measured">Measured</a> (<a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n) (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-574" class="link">Source</a> <a href="#t:Closed" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Closed:Measured:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:measure">measure</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n <a href="#v:measure" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Closed:Serialize:8" class="instance expander" onclick="toggleSection('i:id:Closed:Serialize:8')"></span> <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize.html#t:Serialize">Serialize</a> (v n) => <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize.html#t:Serialize">Serialize</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-613" class="link">Source</a> <a href="#t:Closed" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Closed:Serialize:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize-Put.html#t:Putter">Putter</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize-Get.html#t:Get">Get</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) <a href="#v:get" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Closed:Enveloped:9" class="instance expander" onclick="toggleSection('i:id:Closed:Enveloped:9')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n) => <a href="Diagrams-Envelope.html#t:Enveloped">Enveloped</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-288" class="link">Source</a> <a href="#t:Closed" class="selflink">#</a></td><td class="doc"><p>The envelope for a segment is based at the segment's start.</p></td></tr><tr><td colspan="2"><div id="section.i:id:Closed:Enveloped:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:getEnvelope">getEnvelope</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="Diagrams-Envelope.html#t:Envelope">Envelope</a> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) <a href="#v:getEnvelope" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Closed:Reversing:10" class="instance expander" onclick="toggleSection('i:id:Closed:Reversing:10')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n) => <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Internal-Iso.html#t:Reversing">Reversing</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-183" class="link">Source</a> <a href="#t:Closed" class="selflink">#</a></td><td class="doc"><p>Reverse the direction of a segment.</p></td></tr><tr><td colspan="2"><div id="section.i:id:Closed:Reversing:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:reversing">reversing</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n <a href="#v:reversing" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Closed:HasArcLength:11" class="instance expander" onclick="toggleSection('i:id:Closed:HasArcLength:11')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n) => <a href="Diagrams-Parametric.html#t:HasArcLength">HasArcLength</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-333" class="link">Source</a> <a href="#t:Closed" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Closed:HasArcLength:11" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:arcLengthBounded">arcLengthBounded</a> :: <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-intervals-doc/html/Numeric-Interval-Kaucher.html#t:Interval">Interval</a> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) <a href="src/Diagrams-Parametric.html#arcLengthBounded" class="link">Source</a> <a href="#v:arcLengthBounded" class="selflink">#</a></p><p class="src"><a href="#v:arcLength">arcLength</a> :: <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) <a href="src/Diagrams-Parametric.html#arcLength" class="link">Source</a> <a href="#v:arcLength" class="selflink">#</a></p><p class="src"><a href="#v:stdArcLength">stdArcLength</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) <a href="src/Diagrams-Parametric.html#stdArcLength" class="link">Source</a> <a href="#v:stdArcLength" class="selflink">#</a></p><p class="src"><a href="#v:arcLengthToParam">arcLengthToParam</a> :: <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) <a href="src/Diagrams-Parametric.html#arcLengthToParam" class="link">Source</a> <a href="#v:arcLengthToParam" class="selflink">#</a></p><p class="src"><a href="#v:stdArcLengthToParam">stdArcLengthToParam</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) <a href="src/Diagrams-Parametric.html#stdArcLengthToParam" class="link">Source</a> <a href="#v:stdArcLengthToParam" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Closed:Sectionable:12" class="instance expander" onclick="toggleSection('i:id:Closed:Sectionable:12')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Fractional">Fractional</a> n) => <a href="Diagrams-Parametric.html#t:Sectionable">Sectionable</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-306" class="link">Source</a> <a href="#t:Closed" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Closed:Sectionable:12" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:splitAtParam">splitAtParam</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n, <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) <a href="src/Diagrams-Parametric.html#splitAtParam" class="link">Source</a> <a href="#v:splitAtParam" class="selflink">#</a></p><p class="src"><a href="#v:section">section</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n <a href="src/Diagrams-Parametric.html#section" class="link">Source</a> <a href="#v:section" class="selflink">#</a></p><p class="src"><a href="#v:reverseDomain">reverseDomain</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n <a href="src/Diagrams-Parametric.html#reverseDomain" class="link">Source</a> <a href="#v:reverseDomain" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Closed:EndValues:13" class="instance expander" onclick="toggleSection('i:id:Closed:EndValues:13')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n) => <a href="Diagrams-Parametric.html#t:EndValues">EndValues</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-239" class="link">Source</a> <a href="#t:Closed" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Closed:EndValues:13" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:atStart">atStart</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) <a href="src/Diagrams-Parametric.html#atStart" class="link">Source</a> <a href="#v:atStart" class="selflink">#</a></p><p class="src"><a href="#v:atEnd">atEnd</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) <a href="src/Diagrams-Parametric.html#atEnd" class="link">Source</a> <a href="#v:atEnd" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Closed:DomainBounds:14" class="instance expander" onclick="toggleSection('i:id:Closed:DomainBounds:14')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n => <a href="Diagrams-Parametric.html#t:DomainBounds">DomainBounds</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-237" class="link">Source</a> <a href="#t:Closed" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Closed:DomainBounds:14" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:domainLower">domainLower</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) <a href="src/Diagrams-Parametric.html#domainLower" class="link">Source</a> <a href="#v:domainLower" class="selflink">#</a></p><p class="src"><a href="#v:domainUpper">domainUpper</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) <a href="src/Diagrams-Parametric.html#domainUpper" class="link">Source</a> <a href="#v:domainUpper" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Closed:Parametric:15" class="instance expander" onclick="toggleSection('i:id:Closed:Parametric:15')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n) => <a href="Diagrams-Parametric.html#t:Parametric">Parametric</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-230" class="link">Source</a> <a href="#t:Closed" class="selflink">#</a></td><td class="doc"><p><code><a href="Diagrams-Parametric.html#v:atParam">atParam</a></code> yields a parametrized view of segments as continuous
functions <code>[0,1] -> v</code>, which give the offset from the start of
the segment for each value of the parameter between <code>0</code> and <code>1</code>.
It is designed to be used infix, like <code>seg `<code><a href="Diagrams-Parametric.html#v:atParam">atParam</a></code>` 0.5</code>.</p></td></tr><tr><td colspan="2"><div id="section.i:id:Closed:Parametric:15" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:atParam">atParam</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) <a href="src/Diagrams-Parametric.html#atParam" class="link">Source</a> <a href="#v:atParam" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Closed:Cons:16" class="instance expander" onclick="toggleSection('i:id:Closed:Cons:16')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> u, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n') => <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Cons.html#t:Cons">Cons</a> (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> v n) (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> u n') (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> u n')</span> <a href="#t:Cons" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Closed:Cons:16" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_Cons">_Cons</a> :: <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Prism">Prism</a> (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> v n) (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> u n') (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n, <a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> v n) (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> u n', <a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> u n') <a href="#v:_Cons" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Closed:Snoc:17" class="instance expander" onclick="toggleSection('i:id:Closed:Snoc:17')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> u, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n') => <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Cons.html#t:Snoc">Snoc</a> (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> v n) (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> u n') (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> u n')</span> <a href="#t:Snoc" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Closed:Snoc:17" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_Snoc">_Snoc</a> :: <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Prism">Prism</a> (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> v n) (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> u n') (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> v n, <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> u n', <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> u n') <a href="#v:_Snoc" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Closed:Codomain:18" class="instance expander" onclick="toggleSection('i:id:Closed:Codomain:18')"></span> <span class="keyword">type</span> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-224" class="link">Source</a> <a href="#t:Closed" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Closed:Codomain:18" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) = v</div></div></td></tr></table></div></div></div><h1 id="g:2">Segment offsets</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Offset" class="def">Offset</a> c v n <span class="keyword">where</span> <a href="src/Diagrams-Segment.html#Offset" class="link">Source</a> <a href="#t:Offset" class="selflink">#</a></p><div class="doc"><p>The <em>offset</em> of a segment is the vector from its starting point
to its end. The offset for an <em>open</em> segment is determined by
the context, <em>i.e.</em> its endpoint is not fixed. The offset for a
<em>closed</em> segment is stored explicitly, <em>i.e.</em> its endpoint is at
a fixed offset from its start.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:OffsetOpen" class="def">OffsetOpen</a> :: <a href="Diagrams-Segment.html#t:Offset">Offset</a> <a href="Diagrams-Segment.html#t:Open">Open</a> v n</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:OffsetClosed" class="def">OffsetClosed</a> :: v n -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Offset" class="caption collapser" onclick="toggleSection('i:Offset')">Instances</p><div id="section.i:Offset" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Offset:Functor:1" class="instance expander" onclick="toggleSection('i:id:Offset:Functor:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> v => <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v)</span> <a href="src/Diagrams-Segment.html#line-118" class="link">Source</a> <a href="#t:Offset" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Offset:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v a -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v b -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Offset:Eq:2" class="instance expander" onclick="toggleSection('i:id:Offset:Eq:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> (v n) => <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n)</span> <a href="src/Diagrams-Segment.html#line-115" class="link">Source</a> <a href="#t:Offset" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Offset:Eq:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Offset:Ord:3" class="instance expander" onclick="toggleSection('i:id:Offset:Ord:3')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> (v n) => <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n)</span> <a href="src/Diagrams-Segment.html#line-116" class="link">Source</a> <a href="#t:Offset" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Offset:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Offset:Show:4" class="instance expander" onclick="toggleSection('i:id:Offset:Show:4')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:Show">Show</a> (v n) => <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:Show">Show</a> (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n)</span> <a href="src/Diagrams-Segment.html#line-114" class="link">Source</a> <a href="#t:Offset" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Offset:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n] -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Offset:Transformable:5" class="instance expander" onclick="toggleSection('i:id:Offset:Transformable:5')"></span> <a href="Diagrams-Transform.html#t:Transformable">Transformable</a> (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n)</span> <a href="src/Diagrams-Segment.html#line-135" class="link">Source</a> <a href="#t:Offset" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Offset:Transformable:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:transform">transform</a> :: <a href="Diagrams-Transform.html#t:Transformation">Transformation</a> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n)) -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n <a href="#v:transform" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Offset:Reversing:6" class="instance expander" onclick="toggleSection('i:id:Offset:Reversing:6')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n) => <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Internal-Iso.html#t:Reversing">Reversing</a> (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n)</span> <a href="src/Diagrams-Segment.html#line-128" class="link">Source</a> <a href="#t:Offset" class="selflink">#</a></td><td class="doc"><p>Reverses the direction of closed offsets.</p></td></tr><tr><td colspan="2"><div id="section.i:id:Offset:Reversing:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:reversing">reversing</a> :: <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n <a href="#v:reversing" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Offset:AffineMappable:7" class="instance expander" onclick="toggleSection('i:id:Offset:AffineMappable:7')"></span> (~) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> r (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c u n) => <a href="Diagrams-LinearMap.html#t:AffineMappable">AffineMappable</a> (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n) r</span> <a href="src/Diagrams-LinearMap.html#line-151" class="link">Source</a> <a href="#t:AffineMappable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Offset:AffineMappable:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:amap">amap</a> :: <a href="Diagrams-LinearMap.html#t:AffineMap">AffineMap</a> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> r) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> r) -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> r <a href="src/Diagrams-LinearMap.html#amap" class="link">Source</a> <a href="#v:amap" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Offset:LinearMappable:8" class="instance expander" onclick="toggleSection('i:id:Offset:LinearMappable:8')"></span> (~) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> r (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c u m) => <a href="Diagrams-LinearMap.html#t:LinearMappable">LinearMappable</a> (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n) r</span> <a href="src/Diagrams-LinearMap.html#line-86" class="link">Source</a> <a href="#t:LinearMappable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Offset:LinearMappable:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:vmap">vmap</a> :: (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:Vn">Vn</a> (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n) -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:Vn">Vn</a> r) -> <a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n -> r <a href="src/Diagrams-LinearMap.html#vmap" class="link">Source</a> <a href="#v:vmap" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Offset:Each:9" class="instance expander" onclick="toggleSection('i:id:Offset:Each:9')"></span> <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Each.html#t:Each">Each</a> (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n) (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v' n') (v n) (v' n')</span> <a href="src/Diagrams-Segment.html#line-122" class="link">Source</a> <a href="#t:Offset" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Offset:Each:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:each">each</a> :: <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Traversal">Traversal</a> (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n) (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v' n') (v n) (v' n') <a href="#v:each" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Offset:V:10" class="instance expander" onclick="toggleSection('i:id:Offset:V:10')"></span> <span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n)</span> <a href="src/Diagrams-Segment.html#line-132" class="link">Source</a> <a href="#t:Offset" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Offset:V:10" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n) = v</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Offset:N:11" class="instance expander" onclick="toggleSection('i:id:Offset:N:11')"></span> <span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n)</span> <a href="src/Diagrams-Segment.html#line-133" class="link">Source</a> <a href="#t:Offset" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Offset:N:11" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n) = n</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:segOffset" class="def">segOffset</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> v n <a href="src/Diagrams-Segment.html#segOffset" class="link">Source</a> <a href="#v:segOffset" class="selflink">#</a></p><div class="doc"><p>Compute the offset from the start of a segment to the
end. Note that in the case of a Bézier segment this is <em>not</em> the
same as the length of the curve itself; for that, see <code><a href="Diagrams-Parametric.html#v:arcLength">arcLength</a></code>.</p></div></div><h1 id="g:3">Constructing and modifying segments</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Segment" class="def">Segment</a> c v n <a href="src/Diagrams-Segment.html#Segment" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></p><div class="doc"><p>The atomic constituents of the concrete representation currently
used for trails are <em>segments</em>, currently limited to
single straight lines or cubic Bézier curves. Segments are
<em>translationally invariant</em>, that is, they have no particular
"location" and are unaffected by translations. They are,
however, affected by other transformations such as rotations and
scales.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Linear" class="def">Linear</a> !(<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n)</td><td class="doc"><p>A linear segment with given offset.</p></td></tr><tr><td class="src"><a id="v:Cubic" class="def">Cubic</a> !(v n) !(v n) !(<a href="Diagrams-Segment.html#t:Offset">Offset</a> c v n)</td><td class="doc"><p>A cubic Bézier segment specified by
three offsets from the starting
point to the first control point,
second control point, and ending
point, respectively.</p></td></tr></table></div><div class="subs instances"><p id="control.i:Segment" class="caption collapser" onclick="toggleSection('i:Segment')">Instances</p><div id="section.i:Segment" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:EndValues:1" class="instance expander" onclick="toggleSection('i:id:Segment:EndValues:1')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n) => <a href="Diagrams-Parametric.html#t:EndValues">EndValues</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n))</span> <a href="src/Diagrams-Parametric.html#line-98" class="link">Source</a> <a href="#t:EndValues" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:EndValues:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:atStart">atStart</a> :: <a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n))) <a href="src/Diagrams-Parametric.html#atStart" class="link">Source</a> <a href="#v:atStart" class="selflink">#</a></p><p class="src"><a href="#v:atEnd">atEnd</a> :: <a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n))) <a href="src/Diagrams-Parametric.html#atEnd" class="link">Source</a> <a href="#v:atEnd" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Parametric:2" class="instance expander" onclick="toggleSection('i:id:Segment:Parametric:2')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n) => <a href="Diagrams-Parametric.html#t:Parametric">Parametric</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n))</span> <a href="src/Diagrams-Parametric.html#line-92" class="link">Source</a> <a href="#t:Parametric" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Parametric:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:atParam">atParam</a> :: <a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) -> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n))) <a href="src/Diagrams-Parametric.html#atParam" class="link">Source</a> <a href="#v:atParam" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:ToPath:3" class="instance expander" onclick="toggleSection('i:id:Segment:ToPath:3')"></span> <a href="Diagrams-Path.html#t:ToPath">ToPath</a> (<a href="Diagrams-Located.html#t:Located">Located</a> [<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n])</span> <a href="src/Diagrams-Path.html#line-213" class="link">Source</a> <a href="#t:ToPath" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:ToPath:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:toPath">toPath</a> :: <a href="Diagrams-Located.html#t:Located">Located</a> [<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n] -> <a href="Diagrams-Path.html#t:Path">Path</a> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Located.html#t:Located">Located</a> [<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n])) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Located.html#t:Located">Located</a> [<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n])) <a href="src/Diagrams-Path.html#toPath" class="link">Source</a> <a href="#v:toPath" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:ToPath:4" class="instance expander" onclick="toggleSection('i:id:Segment:ToPath:4')"></span> <a href="Diagrams-Path.html#t:ToPath">ToPath</a> (<a href="Diagrams-Located.html#t:Located">Located</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n))</span> <a href="src/Diagrams-Path.html#line-209" class="link">Source</a> <a href="#t:ToPath" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:ToPath:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:toPath">toPath</a> :: <a href="Diagrams-Located.html#t:Located">Located</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="Diagrams-Path.html#t:Path">Path</a> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Located.html#t:Located">Located</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n))) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Located.html#t:Located">Located</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n))) <a href="src/Diagrams-Path.html#toPath" class="link">Source</a> <a href="#v:toPath" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Functor:5" class="instance expander" onclick="toggleSection('i:id:Segment:Functor:5')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> v => <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v)</span> <a href="src/Diagrams-Segment.html#line-161" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Functor:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v a -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v b -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Cons:6" class="instance expander" onclick="toggleSection('i:id:Segment:Cons:6')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> u, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n') => <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Cons.html#t:Cons">Cons</a> (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> v n) (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> u n') (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> u n')</span> <a href="#t:Cons" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Cons:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_Cons">_Cons</a> :: <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Prism">Prism</a> (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> v n) (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> u n') (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n, <a href="Diagrams-Trail.html#t:SegTree">SegTree</a> v n) (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> u n', <a href="Diagrams-Trail.html#t:SegTree">SegTree</a> u n') <a href="#v:_Cons" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Snoc:7" class="instance expander" onclick="toggleSection('i:id:Segment:Snoc:7')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> u, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n') => <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Cons.html#t:Snoc">Snoc</a> (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> v n) (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> u n') (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> u n')</span> <a href="#t:Snoc" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Snoc:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_Snoc">_Snoc</a> :: <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Prism">Prism</a> (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> v n) (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> u n') (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> v n, <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> u n', <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> u n') <a href="#v:_Snoc" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Measured:8" class="instance expander" onclick="toggleSection('i:id:Segment:Measured:8')"></span> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v) => <a href="file:///usr/share/doc/libghc-fingertree-doc/html/Data-FingerTree.html#t:Measured">Measured</a> (<a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n) (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-574" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Measured:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:measure">measure</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n <a href="#v:measure" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Eq:9" class="instance expander" onclick="toggleSection('i:id:Segment:Eq:9')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> (v n) => <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n)</span> <a href="src/Diagrams-Segment.html#line-161" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Eq:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Ord:10" class="instance expander" onclick="toggleSection('i:id:Segment:Ord:10')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> (v n) => <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n)</span> <a href="src/Diagrams-Segment.html#line-161" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Ord:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Show:11" class="instance expander" onclick="toggleSection('i:id:Segment:Show:11')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:Show">Show</a> (v n) => <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:Show">Show</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n)</span> <a href="src/Diagrams-Segment.html#line-163" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Show:11" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n] -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Serialize:12" class="instance expander" onclick="toggleSection('i:id:Segment:Serialize:12')"></span> <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize.html#t:Serialize">Serialize</a> (v n) => <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize.html#t:Serialize">Serialize</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-613" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Serialize:12" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize-Put.html#t:Putter">Putter</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize-Get.html#t:Get">Get</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) <a href="#v:get" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Serialize:13" class="instance expander" onclick="toggleSection('i:id:Segment:Serialize:13')"></span> <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize.html#t:Serialize">Serialize</a> (v n) => <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize.html#t:Serialize">Serialize</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Open">Open</a> v n)</span> <a href="src/Diagrams-Segment.html#line-594" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Serialize:13" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize-Put.html#t:Putter">Putter</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Open">Open</a> v n) <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize-Get.html#t:Get">Get</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Open">Open</a> v n) <a href="#v:get" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Enveloped:14" class="instance expander" onclick="toggleSection('i:id:Segment:Enveloped:14')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n) => <a href="Diagrams-Envelope.html#t:Enveloped">Enveloped</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-288" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc"><p>The envelope for a segment is based at the segment's start.</p></td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Enveloped:14" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:getEnvelope">getEnvelope</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="Diagrams-Envelope.html#t:Envelope">Envelope</a> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) <a href="#v:getEnvelope" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Transformable:15" class="instance expander" onclick="toggleSection('i:id:Segment:Transformable:15')"></span> <a href="Diagrams-Transform.html#t:Transformable">Transformable</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n)</span> <a href="src/Diagrams-Segment.html#line-197" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Transformable:15" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:transform">transform</a> :: <a href="Diagrams-Transform.html#t:Transformation">Transformation</a> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n)) -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n <a href="#v:transform" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Reversing:16" class="instance expander" onclick="toggleSection('i:id:Segment:Reversing:16')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n) => <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Internal-Iso.html#t:Reversing">Reversing</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-183" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc"><p>Reverse the direction of a segment.</p></td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Reversing:16" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:reversing">reversing</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n <a href="#v:reversing" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:HasArcLength:17" class="instance expander" onclick="toggleSection('i:id:Segment:HasArcLength:17')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n) => <a href="Diagrams-Parametric.html#t:HasArcLength">HasArcLength</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-333" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:HasArcLength:17" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:arcLengthBounded">arcLengthBounded</a> :: <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-intervals-doc/html/Numeric-Interval-Kaucher.html#t:Interval">Interval</a> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) <a href="src/Diagrams-Parametric.html#arcLengthBounded" class="link">Source</a> <a href="#v:arcLengthBounded" class="selflink">#</a></p><p class="src"><a href="#v:arcLength">arcLength</a> :: <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) <a href="src/Diagrams-Parametric.html#arcLength" class="link">Source</a> <a href="#v:arcLength" class="selflink">#</a></p><p class="src"><a href="#v:stdArcLength">stdArcLength</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) <a href="src/Diagrams-Parametric.html#stdArcLength" class="link">Source</a> <a href="#v:stdArcLength" class="selflink">#</a></p><p class="src"><a href="#v:arcLengthToParam">arcLengthToParam</a> :: <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) <a href="src/Diagrams-Parametric.html#arcLengthToParam" class="link">Source</a> <a href="#v:arcLengthToParam" class="selflink">#</a></p><p class="src"><a href="#v:stdArcLengthToParam">stdArcLengthToParam</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) <a href="src/Diagrams-Parametric.html#stdArcLengthToParam" class="link">Source</a> <a href="#v:stdArcLengthToParam" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Sectionable:18" class="instance expander" onclick="toggleSection('i:id:Segment:Sectionable:18')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Fractional">Fractional</a> n) => <a href="Diagrams-Parametric.html#t:Sectionable">Sectionable</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-306" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Sectionable:18" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:splitAtParam">splitAtParam</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n, <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) <a href="src/Diagrams-Parametric.html#splitAtParam" class="link">Source</a> <a href="#v:splitAtParam" class="selflink">#</a></p><p class="src"><a href="#v:section">section</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n <a href="src/Diagrams-Parametric.html#section" class="link">Source</a> <a href="#v:section" class="selflink">#</a></p><p class="src"><a href="#v:reverseDomain">reverseDomain</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n <a href="src/Diagrams-Parametric.html#reverseDomain" class="link">Source</a> <a href="#v:reverseDomain" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:EndValues:19" class="instance expander" onclick="toggleSection('i:id:Segment:EndValues:19')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n) => <a href="Diagrams-Parametric.html#t:EndValues">EndValues</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-239" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:EndValues:19" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:atStart">atStart</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) <a href="src/Diagrams-Parametric.html#atStart" class="link">Source</a> <a href="#v:atStart" class="selflink">#</a></p><p class="src"><a href="#v:atEnd">atEnd</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) <a href="src/Diagrams-Parametric.html#atEnd" class="link">Source</a> <a href="#v:atEnd" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:DomainBounds:20" class="instance expander" onclick="toggleSection('i:id:Segment:DomainBounds:20')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n => <a href="Diagrams-Parametric.html#t:DomainBounds">DomainBounds</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-237" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:DomainBounds:20" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:domainLower">domainLower</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) <a href="src/Diagrams-Parametric.html#domainLower" class="link">Source</a> <a href="#v:domainLower" class="selflink">#</a></p><p class="src"><a href="#v:domainUpper">domainUpper</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) <a href="src/Diagrams-Parametric.html#domainUpper" class="link">Source</a> <a href="#v:domainUpper" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Parametric:21" class="instance expander" onclick="toggleSection('i:id:Segment:Parametric:21')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n) => <a href="Diagrams-Parametric.html#t:Parametric">Parametric</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-230" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc"><p><code><a href="Diagrams-Parametric.html#v:atParam">atParam</a></code> yields a parametrized view of segments as continuous
functions <code>[0,1] -> v</code>, which give the offset from the start of
the segment for each value of the parameter between <code>0</code> and <code>1</code>.
It is designed to be used infix, like <code>seg `<code><a href="Diagrams-Parametric.html#v:atParam">atParam</a></code>` 0.5</code>.</p></td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Parametric:21" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:atParam">atParam</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) <a href="src/Diagrams-Parametric.html#atParam" class="link">Source</a> <a href="#v:atParam" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Renderable:22" class="instance expander" onclick="toggleSection('i:id:Segment:Renderable:22')"></span> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Types.html#t:Renderable">Renderable</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n) <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Types.html#t:NullBackend">NullBackend</a></span> <a href="src/Diagrams-Segment.html#line-200" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Renderable:22" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:render">render</a> :: <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Types.html#t:NullBackend">NullBackend</a> -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Types.html#t:Render">Render</a> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Types.html#t:NullBackend">NullBackend</a> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n)) <a href="#v:render" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:AffineMappable:23" class="instance expander" onclick="toggleSection('i:id:Segment:AffineMappable:23')"></span> (~) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> r (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c u n) => <a href="Diagrams-LinearMap.html#t:AffineMappable">AffineMappable</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n) r</span> <a href="src/Diagrams-LinearMap.html#line-152" class="link">Source</a> <a href="#t:AffineMappable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:AffineMappable:23" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:amap">amap</a> :: <a href="Diagrams-LinearMap.html#t:AffineMap">AffineMap</a> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> r) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> r) -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> r <a href="src/Diagrams-LinearMap.html#amap" class="link">Source</a> <a href="#v:amap" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:LinearMappable:24" class="instance expander" onclick="toggleSection('i:id:Segment:LinearMappable:24')"></span> (~) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> r (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c u m) => <a href="Diagrams-LinearMap.html#t:LinearMappable">LinearMappable</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n) r</span> <a href="src/Diagrams-LinearMap.html#line-91" class="link">Source</a> <a href="#t:LinearMappable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:LinearMappable:24" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:vmap">vmap</a> :: (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:Vn">Vn</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n) -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:Vn">Vn</a> r) -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> r <a href="src/Diagrams-LinearMap.html#vmap" class="link">Source</a> <a href="#v:vmap" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Each:25" class="instance expander" onclick="toggleSection('i:id:Segment:Each:25')"></span> <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Each.html#t:Each">Each</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n) (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v' n') (v n) (v' n')</span> <a href="src/Diagrams-Segment.html#line-177" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Each:25" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:each">each</a> :: <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Traversal">Traversal</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n) (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v' n') (v n) (v' n') <a href="#v:each" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Cons:26" class="instance expander" onclick="toggleSection('i:id:Segment:Cons:26')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> u, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n') => <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Cons.html#t:Cons">Cons</a> (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> v n) (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> u n') (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> u n')</span> <a href="#t:Cons" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Cons:26" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_Cons">_Cons</a> :: <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Prism">Prism</a> (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> v n) (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> u n') (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n, <a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> v n) (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> u n', <a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> u n') <a href="#v:_Cons" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Snoc:27" class="instance expander" onclick="toggleSection('i:id:Segment:Snoc:27')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> u, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n') => <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Cons.html#t:Snoc">Snoc</a> (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> v n) (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> u n') (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> u n')</span> <a href="#t:Snoc" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Snoc:27" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_Snoc">_Snoc</a> :: <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Prism">Prism</a> (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> v n) (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> u n') (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> v n, <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) (<a href="Diagrams-Trail.html#t:Trail-39-">Trail'</a> <a href="Diagrams-Trail.html#t:Line">Line</a> u n', <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> u n') <a href="#v:_Snoc" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:V:28" class="instance expander" onclick="toggleSection('i:id:Segment:V:28')"></span> <span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n)</span> <a href="src/Diagrams-Segment.html#line-194" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:V:28" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n) = v</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:N:29" class="instance expander" onclick="toggleSection('i:id:Segment:N:29')"></span> <span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n)</span> <a href="src/Diagrams-Segment.html#line-195" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:N:29" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n) = n</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Segment:Codomain:30" class="instance expander" onclick="toggleSection('i:id:Segment:Codomain:30')"></span> <span class="keyword">type</span> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-224" class="link">Source</a> <a href="#t:Segment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Segment:Codomain:30" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) = v</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:straight" class="def">straight</a> :: v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n <a href="src/Diagrams-Segment.html#straight" class="link">Source</a> <a href="#v:straight" class="selflink">#</a></p><div class="doc"><p><code><code><a href="Diagrams-Segment.html#v:straight">straight</a></code> v</code> constructs a translationally invariant linear
segment with direction and length given by the vector <code>v</code>.</p></div></div><div class="top"><p class="src"><a id="v:bezier3" class="def">bezier3</a> :: v n -> v n -> v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n <a href="src/Diagrams-Segment.html#bezier3" class="link">Source</a> <a href="#v:bezier3" class="selflink">#</a></p><div class="doc"><p><code>bezier3 c1 c2 x</code> constructs a translationally invariant cubic
Bézier curve where the offsets from the first endpoint to the
first and second control point and endpoint are respectively
given by <code>c1</code>, <code>c2</code>, and <code>x</code>.</p></div></div><div class="top"><p class="src"><a id="v:b-233-zier3" class="def">bézier3</a> :: v n -> v n -> v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n <a href="src/Diagrams-Segment.html#b%E9zier3" class="link">Source</a> <a href="#v:b-233-zier3" class="selflink">#</a></p><div class="doc"><p><code>bézier3</code> is the same as <code>bezier3</code>, but with more snobbery.</p></div></div><div class="top"><p class="src"><a id="v:reverseSegment" class="def">reverseSegment</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v) => <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n <a href="src/Diagrams-Segment.html#reverseSegment" class="link">Source</a> <a href="#v:reverseSegment" class="selflink">#</a></p><div class="doc"><p>Reverse the direction of a segment.</p></div></div><div class="top"><p class="src"><a id="v:mapSegmentVectors" class="def">mapSegmentVectors</a> :: (v n -> v' n') -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> c v' n' <a href="src/Diagrams-Segment.html#mapSegmentVectors" class="link">Source</a> <a href="#v:mapSegmentVectors" class="selflink">#</a></p><div class="doc"><p>Map over the vectors of each segment.</p></div></div><div class="top"><p class="src"><a id="v:openLinear" class="def">openLinear</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Open">Open</a> v n <a href="src/Diagrams-Segment.html#openLinear" class="link">Source</a> <a href="#v:openLinear" class="selflink">#</a></p><div class="doc"><p>An open linear segment. This means the trail makes a straight line
from the last segment the beginning to form a loop.</p></div></div><div class="top"><p class="src"><a id="v:openCubic" class="def">openCubic</a> :: v n -> v n -> <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Open">Open</a> v n <a href="src/Diagrams-Segment.html#openCubic" class="link">Source</a> <a href="#v:openCubic" class="selflink">#</a></p><div class="doc"><p>An open cubic segment. This means the trail makes a cubic bézier
with control vectors <code>v1</code> and <code>v2</code> to form a loop.</p></div></div><h1 id="g:4">Fixed (absolutely located) segments</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:FixedSegment" class="def">FixedSegment</a> v n <a href="src/Diagrams-Segment.html#FixedSegment" class="link">Source</a> <a href="#t:FixedSegment" class="selflink">#</a></p><div class="doc"><p><code>FixedSegment</code>s are like <code><a href="Diagrams-Segment.html#t:Segment">Segment</a></code>s except that they have
absolute locations. <code>FixedSegment v</code> is isomorphic to <code>Located
(Segment Closed v)</code>, as witnessed by <code><a href="Diagrams-Segment.html#v:mkFixedSeg">mkFixedSeg</a></code> and
<code><a href="Diagrams-Segment.html#v:fromFixedSeg">fromFixedSeg</a></code>, but <code>FixedSegment</code> is convenient when one needs
the absolute locations of the vertices and control points.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:FLinear" class="def">FLinear</a> (<a href="Diagrams-Points.html#t:Point">Point</a> v n) (<a href="Diagrams-Points.html#t:Point">Point</a> v n)</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:FCubic" class="def">FCubic</a> (<a href="Diagrams-Points.html#t:Point">Point</a> v n) (<a href="Diagrams-Points.html#t:Point">Point</a> v n) (<a href="Diagrams-Points.html#t:Point">Point</a> v n) (<a href="Diagrams-Points.html#t:Point">Point</a> v n)</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:FixedSegment" class="caption collapser" onclick="toggleSection('i:FixedSegment')">Instances</p><div id="section.i:FixedSegment" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FixedSegment:EndValues:1" class="instance expander" onclick="toggleSection('i:id:FixedSegment:EndValues:1')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n) => <a href="Diagrams-Parametric.html#t:EndValues">EndValues</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n))</span> <a href="src/Diagrams-Parametric.html#line-109" class="link">Source</a> <a href="#t:EndValues" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FixedSegment:EndValues:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:atStart">atStart</a> :: <a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) -> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n))) <a href="src/Diagrams-Parametric.html#atStart" class="link">Source</a> <a href="#v:atStart" class="selflink">#</a></p><p class="src"><a href="#v:atEnd">atEnd</a> :: <a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) -> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n))) <a href="src/Diagrams-Parametric.html#atEnd" class="link">Source</a> <a href="#v:atEnd" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FixedSegment:Parametric:2" class="instance expander" onclick="toggleSection('i:id:FixedSegment:Parametric:2')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n) => <a href="Diagrams-Parametric.html#t:Parametric">Parametric</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n))</span> <a href="src/Diagrams-Parametric.html#line-105" class="link">Source</a> <a href="#t:Parametric" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FixedSegment:Parametric:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:atParam">atParam</a> :: <a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)) -> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Tangent.html#t:Tangent">Tangent</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n))) <a href="src/Diagrams-Parametric.html#atParam" class="link">Source</a> <a href="#v:atParam" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FixedSegment:Show:3" class="instance expander" onclick="toggleSection('i:id:FixedSegment:Show:3')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:Show">Show</a> (v n) => <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:Show">Show</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)</span> <a href="src/Diagrams-Segment.html#line-373" class="link">Source</a> <a href="#t:FixedSegment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FixedSegment:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n] -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FixedSegment:Enveloped:4" class="instance expander" onclick="toggleSection('i:id:FixedSegment:Enveloped:4')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n) => <a href="Diagrams-Envelope.html#t:Enveloped">Enveloped</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)</span> <a href="src/Diagrams-Segment.html#line-394" class="link">Source</a> <a href="#t:FixedSegment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FixedSegment:Enveloped:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:getEnvelope">getEnvelope</a> :: <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="Diagrams-Envelope.html#t:Envelope">Envelope</a> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)) <a href="#v:getEnvelope" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FixedSegment:Transformable:5" class="instance expander" onclick="toggleSection('i:id:FixedSegment:Transformable:5')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n) => <a href="Diagrams-Transform.html#t:Transformable">Transformable</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)</span> <a href="src/Diagrams-Segment.html#line-388" class="link">Source</a> <a href="#t:FixedSegment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FixedSegment:Transformable:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:transform">transform</a> :: <a href="Diagrams-Transform.html#t:Transformation">Transformation</a> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)) -> <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n <a href="#v:transform" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FixedSegment:HasOrigin:6" class="instance expander" onclick="toggleSection('i:id:FixedSegment:HasOrigin:6')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n) => <a href="Diagrams-Transform.html#t:HasOrigin">HasOrigin</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)</span> <a href="src/Diagrams-Segment.html#line-391" class="link">Source</a> <a href="#t:FixedSegment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FixedSegment:HasOrigin:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:moveOriginTo">moveOriginTo</a> :: <a href="Diagrams-Points.html#t:Point">Point</a> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)) -> <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n <a href="#v:moveOriginTo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FixedSegment:Reversing:7" class="instance expander" onclick="toggleSection('i:id:FixedSegment:Reversing:7')"></span> <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Internal-Iso.html#t:Reversing">Reversing</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)</span> <a href="src/Diagrams-Segment.html#line-384" class="link">Source</a> <a href="#t:FixedSegment" class="selflink">#</a></td><td class="doc"><p>Reverses the control points.</p></td></tr><tr><td colspan="2"><div id="section.i:id:FixedSegment:Reversing:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:reversing">reversing</a> :: <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n <a href="#v:reversing" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FixedSegment:HasArcLength:8" class="instance expander" onclick="toggleSection('i:id:FixedSegment:HasArcLength:8')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n) => <a href="Diagrams-Parametric.html#t:HasArcLength">HasArcLength</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)</span> <a href="src/Diagrams-Segment.html#line-403" class="link">Source</a> <a href="#t:FixedSegment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FixedSegment:HasArcLength:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:arcLengthBounded">arcLengthBounded</a> :: <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) -> <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="file:///usr/share/doc/libghc-intervals-doc/html/Numeric-Interval-Kaucher.html#t:Interval">Interval</a> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)) <a href="src/Diagrams-Parametric.html#arcLengthBounded" class="link">Source</a> <a href="#v:arcLengthBounded" class="selflink">#</a></p><p class="src"><a href="#v:arcLength">arcLength</a> :: <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) -> <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) <a href="src/Diagrams-Parametric.html#arcLength" class="link">Source</a> <a href="#v:arcLength" class="selflink">#</a></p><p class="src"><a href="#v:stdArcLength">stdArcLength</a> :: <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) <a href="src/Diagrams-Parametric.html#stdArcLength" class="link">Source</a> <a href="#v:stdArcLength" class="selflink">#</a></p><p class="src"><a href="#v:arcLengthToParam">arcLengthToParam</a> :: <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) -> <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) <a href="src/Diagrams-Parametric.html#arcLengthToParam" class="link">Source</a> <a href="#v:arcLengthToParam" class="selflink">#</a></p><p class="src"><a href="#v:stdArcLengthToParam">stdArcLengthToParam</a> :: <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) <a href="src/Diagrams-Parametric.html#stdArcLengthToParam" class="link">Source</a> <a href="#v:stdArcLengthToParam" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FixedSegment:Sectionable:9" class="instance expander" onclick="toggleSection('i:id:FixedSegment:Sectionable:9')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Fractional">Fractional</a> n) => <a href="Diagrams-Parametric.html#t:Sectionable">Sectionable</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)</span> <a href="src/Diagrams-Segment.html#line-447" class="link">Source</a> <a href="#t:FixedSegment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FixedSegment:Sectionable:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:splitAtParam">splitAtParam</a> :: <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) -> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n, <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) <a href="src/Diagrams-Parametric.html#splitAtParam" class="link">Source</a> <a href="#v:splitAtParam" class="selflink">#</a></p><p class="src"><a href="#v:section">section</a> :: <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) -> <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n <a href="src/Diagrams-Parametric.html#section" class="link">Source</a> <a href="#v:section" class="selflink">#</a></p><p class="src"><a href="#v:reverseDomain">reverseDomain</a> :: <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n <a href="src/Diagrams-Parametric.html#reverseDomain" class="link">Source</a> <a href="#v:reverseDomain" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FixedSegment:EndValues:10" class="instance expander" onclick="toggleSection('i:id:FixedSegment:EndValues:10')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n) => <a href="Diagrams-Parametric.html#t:EndValues">EndValues</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)</span> <a href="src/Diagrams-Segment.html#line-441" class="link">Source</a> <a href="#t:FixedSegment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FixedSegment:EndValues:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:atStart">atStart</a> :: <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)) <a href="src/Diagrams-Parametric.html#atStart" class="link">Source</a> <a href="#v:atStart" class="selflink">#</a></p><p class="src"><a href="#v:atEnd">atEnd</a> :: <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)) <a href="src/Diagrams-Parametric.html#atEnd" class="link">Source</a> <a href="#v:atEnd" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FixedSegment:DomainBounds:11" class="instance expander" onclick="toggleSection('i:id:FixedSegment:DomainBounds:11')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n => <a href="Diagrams-Parametric.html#t:DomainBounds">DomainBounds</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)</span> <a href="src/Diagrams-Segment.html#line-439" class="link">Source</a> <a href="#t:FixedSegment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FixedSegment:DomainBounds:11" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:domainLower">domainLower</a> :: <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) <a href="src/Diagrams-Parametric.html#domainLower" class="link">Source</a> <a href="#v:domainLower" class="selflink">#</a></p><p class="src"><a href="#v:domainUpper">domainUpper</a> :: <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) <a href="src/Diagrams-Parametric.html#domainUpper" class="link">Source</a> <a href="#v:domainUpper" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FixedSegment:Parametric:12" class="instance expander" onclick="toggleSection('i:id:FixedSegment:Parametric:12')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n) => <a href="Diagrams-Parametric.html#t:Parametric">Parametric</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)</span> <a href="src/Diagrams-Segment.html#line-427" class="link">Source</a> <a href="#t:FixedSegment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FixedSegment:Parametric:12" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:atParam">atParam</a> :: <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) -> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)) <a href="src/Diagrams-Parametric.html#atParam" class="link">Source</a> <a href="#v:atParam" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FixedSegment:ToPath:13" class="instance expander" onclick="toggleSection('i:id:FixedSegment:ToPath:13')"></span> <a href="Diagrams-Path.html#t:ToPath">ToPath</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)</span> <a href="src/Diagrams-Path.html#line-217" class="link">Source</a> <a href="#t:ToPath" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FixedSegment:ToPath:13" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:toPath">toPath</a> :: <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="Diagrams-Path.html#t:Path">Path</a> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)) <a href="src/Diagrams-Path.html#toPath" class="link">Source</a> <a href="#v:toPath" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FixedSegment:AffineMappable:14" class="instance expander" onclick="toggleSection('i:id:FixedSegment:AffineMappable:14')"></span> (~) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> r (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> u n) => <a href="Diagrams-LinearMap.html#t:AffineMappable">AffineMappable</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) r</span> <a href="src/Diagrams-LinearMap.html#line-161" class="link">Source</a> <a href="#t:AffineMappable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FixedSegment:AffineMappable:14" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:amap">amap</a> :: <a href="Diagrams-LinearMap.html#t:AffineMap">AffineMap</a> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> r) (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> r) -> <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> r <a href="src/Diagrams-LinearMap.html#amap" class="link">Source</a> <a href="#v:amap" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FixedSegment:LinearMappable:15" class="instance expander" onclick="toggleSection('i:id:FixedSegment:LinearMappable:15')"></span> (~) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> r (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> u m) => <a href="Diagrams-LinearMap.html#t:LinearMappable">LinearMappable</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) r</span> <a href="src/Diagrams-LinearMap.html#line-117" class="link">Source</a> <a href="#t:LinearMappable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FixedSegment:LinearMappable:15" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:vmap">vmap</a> :: (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:Vn">Vn</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) -> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:Vn">Vn</a> r) -> <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> r <a href="src/Diagrams-LinearMap.html#vmap" class="link">Source</a> <a href="#v:vmap" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FixedSegment:Each:16" class="instance expander" onclick="toggleSection('i:id:FixedSegment:Each:16')"></span> <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Each.html#t:Each">Each</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v' n') (<a href="Diagrams-Points.html#t:Point">Point</a> v n) (<a href="Diagrams-Points.html#t:Point">Point</a> v' n')</span> <a href="src/Diagrams-Segment.html#line-378" class="link">Source</a> <a href="#t:FixedSegment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FixedSegment:Each:16" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:each">each</a> :: <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Traversal">Traversal</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v' n') (<a href="Diagrams-Points.html#t:Point">Point</a> v n) (<a href="Diagrams-Points.html#t:Point">Point</a> v' n') <a href="#v:each" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FixedSegment:V:17" class="instance expander" onclick="toggleSection('i:id:FixedSegment:V:17')"></span> <span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)</span> <a href="src/Diagrams-Segment.html#line-375" class="link">Source</a> <a href="#t:FixedSegment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FixedSegment:V:17" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:V">V</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) = v</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FixedSegment:N:18" class="instance expander" onclick="toggleSection('i:id:FixedSegment:N:18')"></span> <span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)</span> <a href="src/Diagrams-Segment.html#line-376" class="link">Source</a> <a href="#t:FixedSegment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FixedSegment:N:18" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-V.html#t:N">N</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) = n</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FixedSegment:Codomain:19" class="instance expander" onclick="toggleSection('i:id:FixedSegment:Codomain:19')"></span> <span class="keyword">type</span> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n)</span> <a href="src/Diagrams-Segment.html#line-425" class="link">Source</a> <a href="#t:FixedSegment" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FixedSegment:Codomain:19" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Diagrams-Parametric.html#t:Codomain">Codomain</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) = <a href="Diagrams-Points.html#t:Point">Point</a> v</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:mkFixedSeg" class="def">mkFixedSeg</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v) => <a href="Diagrams-Located.html#t:Located">Located</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) -> <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n <a href="src/Diagrams-Segment.html#mkFixedSeg" class="link">Source</a> <a href="#v:mkFixedSeg" class="selflink">#</a></p><div class="doc"><p>Create a <code><a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a></code> from a located <code><a href="Diagrams-Segment.html#t:Segment">Segment</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:fromFixedSeg" class="def">fromFixedSeg</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v) => <a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n -> <a href="Diagrams-Located.html#t:Located">Located</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n) <a href="src/Diagrams-Segment.html#fromFixedSeg" class="link">Source</a> <a href="#v:fromFixedSeg" class="selflink">#</a></p><div class="doc"><p>Convert a <code><a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a></code> back into a located <code><a href="Diagrams-Segment.html#t:Segment">Segment</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:fixedSegIso" class="def">fixedSegIso</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v) => <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Iso-39-">Iso'</a> (<a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a> v n) (<a href="Diagrams-Located.html#t:Located">Located</a> (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)) <a href="src/Diagrams-Segment.html#fixedSegIso" class="link">Source</a> <a href="#v:fixedSegIso" class="selflink">#</a></p><div class="doc"><p>Use a <code><a href="Diagrams-Segment.html#t:FixedSegment">FixedSegment</a></code> to make an <code><a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Iso">Iso</a></code> between an
a fixed segment and a located segment.</p></div></div><h1 id="g:5">Segment measures</h1><div class="doc"><p>Trails store a sequence of segments in a fingertree, which can
automatically track various monoidal "measures" on segments.</p></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:SegCount" class="def">SegCount</a> <a href="src/Diagrams-Segment.html#SegCount" class="link">Source</a> <a href="#t:SegCount" class="selflink">#</a></p><div class="doc"><p>A type to track the count of segments in a <code>Trail</code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:SegCount" class="def">SegCount</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Sum">Sum</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>)</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:SegCount" class="caption collapser" onclick="toggleSection('i:SegCount')">Instances</p><div id="section.i:SegCount" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SegCount:Semigroup:1" class="instance expander" onclick="toggleSection('i:id:SegCount:Semigroup:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Diagrams-Segment.html#t:SegCount">SegCount</a></span> <a href="src/Diagrams-Segment.html#line-478" class="link">Source</a> <a href="#t:SegCount" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SegCount:Semigroup:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Diagrams-Segment.html#t:SegCount">SegCount</a> -> <a href="Diagrams-Segment.html#t:SegCount">SegCount</a> -> <a href="Diagrams-Segment.html#t:SegCount">SegCount</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Diagrams-Segment.html#t:SegCount">SegCount</a> -> <a href="Diagrams-Segment.html#t:SegCount">SegCount</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Diagrams-Segment.html#t:SegCount">SegCount</a> -> <a href="Diagrams-Segment.html#t:SegCount">SegCount</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SegCount:Monoid:2" class="instance expander" onclick="toggleSection('i:id:SegCount:Monoid:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> <a href="Diagrams-Segment.html#t:SegCount">SegCount</a></span> <a href="src/Diagrams-Segment.html#line-478" class="link">Source</a> <a href="#t:SegCount" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SegCount:Monoid:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Diagrams-Segment.html#t:SegCount">SegCount</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Diagrams-Segment.html#t:SegCount">SegCount</a> -> <a href="Diagrams-Segment.html#t:SegCount">SegCount</a> -> <a href="Diagrams-Segment.html#t:SegCount">SegCount</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Diagrams-Segment.html#t:SegCount">SegCount</a>] -> <a href="Diagrams-Segment.html#t:SegCount">SegCount</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SegCount:Wrapped:3" class="instance expander" onclick="toggleSection('i:id:SegCount:Wrapped:3')"></span> <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Wrapped.html#t:Wrapped">Wrapped</a> <a href="Diagrams-Segment.html#t:SegCount">SegCount</a></span> <a href="src/Diagrams-Segment.html#line-480" class="link">Source</a> <a href="#t:SegCount" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SegCount:Wrapped:3" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Wrapped.html#t:Unwrapped">Unwrapped</a> <a href="Diagrams-Segment.html#t:SegCount">SegCount</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Unwrapped" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_Wrapped-39-">_Wrapped'</a> :: <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Iso-39-">Iso'</a> <a href="Diagrams-Segment.html#t:SegCount">SegCount</a> (<a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Wrapped.html#t:Unwrapped">Unwrapped</a> <a href="Diagrams-Segment.html#t:SegCount">SegCount</a>) <a href="#v:_Wrapped-39-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SegCount:Rewrapped:4" class="instance expander" onclick="toggleSection('i:id:SegCount:Rewrapped:4')"></span> <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Wrapped.html#t:Rewrapped">Rewrapped</a> <a href="Diagrams-Segment.html#t:SegCount">SegCount</a> <a href="Diagrams-Segment.html#t:SegCount">SegCount</a></span> <a href="src/Diagrams-Segment.html#line-484" class="link">Source</a> <a href="#t:SegCount" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SegCount:Rewrapped:4" class="inst-details hide"></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SegCount:Measured:5" class="instance expander" onclick="toggleSection('i:id:SegCount:Measured:5')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n) => <a href="file:///usr/share/doc/libghc-fingertree-doc/html/Data-FingerTree.html#t:Measured">Measured</a> (<a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n) (<a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n)</span> <a href="src/Diagrams-Segment.html#line-570" class="link">Source</a> <a href="#t:SegCount" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SegCount:Measured:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:measure">measure</a> :: <a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n -> <a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n <a href="#v:measure" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SegCount:Measured:6" class="instance expander" onclick="toggleSection('i:id:SegCount:Measured:6')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> n, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Numeric.html#t:Floating">Floating</a> n) => <a href="file:///usr/share/doc/libghc-fingertree-doc/html/Data-FingerTree.html#t:Measured">Measured</a> (<a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n) (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> v n)</span> <a href="#t:Measured" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SegCount:Measured:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:measure">measure</a> :: <a href="Diagrams-Trail.html#t:SegTree">SegTree</a> v n -> <a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n <a href="#v:measure" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SegCount:Measured:7" class="instance expander" onclick="toggleSection('i:id:SegCount:Measured:7')"></span> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v) => <a href="file:///usr/share/doc/libghc-fingertree-doc/html/Data-FingerTree.html#t:Measured">Measured</a> (<a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n) (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-574" class="link">Source</a> <a href="#t:SegCount" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SegCount:Measured:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:measure">measure</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n <a href="#v:measure" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SegCount:Unwrapped:8" class="instance expander" onclick="toggleSection('i:id:SegCount:Unwrapped:8')"></span> <span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Wrapped.html#t:Unwrapped">Unwrapped</a> <a href="Diagrams-Segment.html#t:SegCount">SegCount</a></span> <a href="src/Diagrams-Segment.html#line-481" class="link">Source</a> <a href="#t:SegCount" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SegCount:Unwrapped:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Wrapped.html#t:Unwrapped">Unwrapped</a> <a href="Diagrams-Segment.html#t:SegCount">SegCount</a> = <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Sum">Sum</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:ArcLength" class="def">ArcLength</a> n <a href="src/Diagrams-Segment.html#ArcLength" class="link">Source</a> <a href="#t:ArcLength" class="selflink">#</a></p><div class="doc"><p>A type to represent the total arc length of a chain of
segments. The first component is a "standard" arc length,
computed to within a tolerance of <code>10e-6</code>. The second component is
a generic arc length function taking the tolerance as an
argument.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ArcLength" class="def">ArcLength</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Sum">Sum</a> (<a href="file:///usr/share/doc/libghc-intervals-doc/html/Numeric-Interval-Kaucher.html#t:Interval">Interval</a> n), n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Sum">Sum</a> (<a href="file:///usr/share/doc/libghc-intervals-doc/html/Numeric-Interval-Kaucher.html#t:Interval">Interval</a> n))</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ArcLength" class="caption collapser" onclick="toggleSection('i:ArcLength')">Instances</p><div id="section.i:ArcLength" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ArcLength:Semigroup:1" class="instance expander" onclick="toggleSection('i:id:ArcLength:Semigroup:1')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> n) => <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n)</span> <a href="src/Diagrams-Segment.html#line-521" class="link">Source</a> <a href="#t:ArcLength" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ArcLength:Semigroup:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n -> <a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n -> <a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n) -> <a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n -> <a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ArcLength:Monoid:2" class="instance expander" onclick="toggleSection('i:id:ArcLength:Monoid:2')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> n) => <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n)</span> <a href="src/Diagrams-Segment.html#line-522" class="link">Source</a> <a href="#t:ArcLength" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ArcLength:Monoid:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n -> <a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n -> <a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n] -> <a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ArcLength:Wrapped:3" class="instance expander" onclick="toggleSection('i:id:ArcLength:Wrapped:3')"></span> <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Wrapped.html#t:Wrapped">Wrapped</a> (<a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n)</span> <a href="src/Diagrams-Segment.html#line-495" class="link">Source</a> <a href="#t:ArcLength" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ArcLength:Wrapped:3" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Wrapped.html#t:Unwrapped">Unwrapped</a> (<a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Unwrapped" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_Wrapped-39-">_Wrapped'</a> :: <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Iso-39-">Iso'</a> (<a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n) (<a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Wrapped.html#t:Unwrapped">Unwrapped</a> (<a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n)) <a href="#v:_Wrapped-39-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ArcLength:Rewrapped:4" class="instance expander" onclick="toggleSection('i:id:ArcLength:Rewrapped:4')"></span> <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Wrapped.html#t:Rewrapped">Rewrapped</a> (<a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n) (<a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n')</span> <a href="src/Diagrams-Segment.html#line-499" class="link">Source</a> <a href="#t:ArcLength" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ArcLength:Rewrapped:4" class="inst-details hide"></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ArcLength:Measured:5" class="instance expander" onclick="toggleSection('i:id:ArcLength:Measured:5')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n) => <a href="file:///usr/share/doc/libghc-fingertree-doc/html/Data-FingerTree.html#t:Measured">Measured</a> (<a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n) (<a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n)</span> <a href="src/Diagrams-Segment.html#line-570" class="link">Source</a> <a href="#t:ArcLength" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ArcLength:Measured:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:measure">measure</a> :: <a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n -> <a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n <a href="#v:measure" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ArcLength:Measured:6" class="instance expander" onclick="toggleSection('i:id:ArcLength:Measured:6')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> n, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Numeric.html#t:Floating">Floating</a> n) => <a href="file:///usr/share/doc/libghc-fingertree-doc/html/Data-FingerTree.html#t:Measured">Measured</a> (<a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n) (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> v n)</span> <a href="#t:Measured" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ArcLength:Measured:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:measure">measure</a> :: <a href="Diagrams-Trail.html#t:SegTree">SegTree</a> v n -> <a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n <a href="#v:measure" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ArcLength:Measured:7" class="instance expander" onclick="toggleSection('i:id:ArcLength:Measured:7')"></span> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v) => <a href="file:///usr/share/doc/libghc-fingertree-doc/html/Data-FingerTree.html#t:Measured">Measured</a> (<a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n) (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-574" class="link">Source</a> <a href="#t:ArcLength" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ArcLength:Measured:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:measure">measure</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n <a href="#v:measure" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ArcLength:Unwrapped:8" class="instance expander" onclick="toggleSection('i:id:ArcLength:Unwrapped:8')"></span> <span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Wrapped.html#t:Unwrapped">Unwrapped</a> (<a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n)</span> <a href="src/Diagrams-Segment.html#line-496" class="link">Source</a> <a href="#t:ArcLength" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ArcLength:Unwrapped:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Wrapped.html#t:Unwrapped">Unwrapped</a> (<a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n) = (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Sum">Sum</a> (<a href="file:///usr/share/doc/libghc-intervals-doc/html/Numeric-Interval-Kaucher.html#t:Interval">Interval</a> n), n -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Sum">Sum</a> (<a href="file:///usr/share/doc/libghc-intervals-doc/html/Numeric-Interval-Kaucher.html#t:Interval">Interval</a> n))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:getArcLengthCached" class="def">getArcLengthCached</a> :: <a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n -> <a href="file:///usr/share/doc/libghc-intervals-doc/html/Numeric-Interval-Kaucher.html#t:Interval">Interval</a> n <a href="src/Diagrams-Segment.html#getArcLengthCached" class="link">Source</a> <a href="#v:getArcLengthCached" class="selflink">#</a></p><div class="doc"><p>Project out the cached arc length, stored together with error
bounds.</p></div></div><div class="top"><p class="src"><a id="v:getArcLengthFun" class="def">getArcLengthFun</a> :: <a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n -> n -> <a href="file:///usr/share/doc/libghc-intervals-doc/html/Numeric-Interval-Kaucher.html#t:Interval">Interval</a> n <a href="src/Diagrams-Segment.html#getArcLengthFun" class="link">Source</a> <a href="#v:getArcLengthFun" class="selflink">#</a></p><div class="doc"><p>Project out the generic arc length function taking the tolerance as
an argument.</p></div></div><div class="top"><p class="src"><a id="v:getArcLengthBounded" class="def">getArcLengthBounded</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> n) => n -> <a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n -> <a href="file:///usr/share/doc/libghc-intervals-doc/html/Numeric-Interval-Kaucher.html#t:Interval">Interval</a> n <a href="src/Diagrams-Segment.html#getArcLengthBounded" class="link">Source</a> <a href="#v:getArcLengthBounded" class="selflink">#</a></p><div class="doc"><p>Given a specified tolerance, project out the cached arc length if
it is accurate enough; otherwise call the generic arc length
function with the given tolerance.</p></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:TotalOffset" class="def">TotalOffset</a> v n <a href="src/Diagrams-Segment.html#TotalOffset" class="link">Source</a> <a href="#t:TotalOffset" class="selflink">#</a></p><div class="doc"><p>A type to represent the total cumulative offset of a chain of
segments.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:TotalOffset" class="def">TotalOffset</a> (v n)</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:TotalOffset" class="caption collapser" onclick="toggleSection('i:TotalOffset')">Instances</p><div id="section.i:TotalOffset" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TotalOffset:Semigroup:1" class="instance expander" onclick="toggleSection('i:id:TotalOffset:Semigroup:1')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v) => <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n)</span> <a href="src/Diagrams-Segment.html#line-534" class="link">Source</a> <a href="#t:TotalOffset" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TotalOffset:Semigroup:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n -> <a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n -> <a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n) -> <a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n -> <a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TotalOffset:Monoid:2" class="instance expander" onclick="toggleSection('i:id:TotalOffset:Monoid:2')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Vector.html#t:Additive">Additive</a> v) => <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n)</span> <a href="src/Diagrams-Segment.html#line-537" class="link">Source</a> <a href="#t:TotalOffset" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TotalOffset:Monoid:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n -> <a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n -> <a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n] -> <a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TotalOffset:Wrapped:3" class="instance expander" onclick="toggleSection('i:id:TotalOffset:Wrapped:3')"></span> <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Wrapped.html#t:Wrapped">Wrapped</a> (<a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n)</span> <a href="src/Diagrams-Segment.html#line-528" class="link">Source</a> <a href="#t:TotalOffset" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TotalOffset:Wrapped:3" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Wrapped.html#t:Unwrapped">Unwrapped</a> (<a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Unwrapped" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_Wrapped-39-">_Wrapped'</a> :: <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Iso-39-">Iso'</a> (<a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n) (<a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Wrapped.html#t:Unwrapped">Unwrapped</a> (<a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n)) <a href="#v:_Wrapped-39-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TotalOffset:Rewrapped:4" class="instance expander" onclick="toggleSection('i:id:TotalOffset:Rewrapped:4')"></span> <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Wrapped.html#t:Rewrapped">Rewrapped</a> (<a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n) (<a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v' n')</span> <a href="src/Diagrams-Segment.html#line-532" class="link">Source</a> <a href="#t:TotalOffset" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TotalOffset:Rewrapped:4" class="inst-details hide"></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TotalOffset:Unwrapped:5" class="instance expander" onclick="toggleSection('i:id:TotalOffset:Unwrapped:5')"></span> <span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Wrapped.html#t:Unwrapped">Unwrapped</a> (<a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n)</span> <a href="src/Diagrams-Segment.html#line-529" class="link">Source</a> <a href="#t:TotalOffset" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TotalOffset:Unwrapped:5" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Wrapped.html#t:Unwrapped">Unwrapped</a> (<a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n) = v n</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:OffsetEnvelope" class="def">OffsetEnvelope</a> v n <a href="src/Diagrams-Segment.html#OffsetEnvelope" class="link">Source</a> <a href="#t:OffsetEnvelope" class="selflink">#</a></p><div class="doc"><p>A type to represent the offset and envelope of a chain of
segments. They have to be paired into one data structure, since
combining the envelopes of two consecutive chains needs to take
the offset of the first into account.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:OffsetEnvelope" class="def">OffsetEnvelope</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:_oeOffset" class="def">_oeOffset</a> :: !(<a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n)</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:_oeEnvelope" class="def">_oeEnvelope</a> :: <a href="Diagrams-Envelope.html#t:Envelope">Envelope</a> v n</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:OffsetEnvelope" class="caption collapser" onclick="toggleSection('i:OffsetEnvelope')">Instances</p><div id="section.i:OffsetEnvelope" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OffsetEnvelope:Semigroup:1" class="instance expander" onclick="toggleSection('i:id:OffsetEnvelope:Semigroup:1')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n) => <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Diagrams-Segment.html#t:OffsetEnvelope">OffsetEnvelope</a> v n)</span> <a href="src/Diagrams-Segment.html#line-552" class="link">Source</a> <a href="#t:OffsetEnvelope" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OffsetEnvelope:Semigroup:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Diagrams-Segment.html#t:OffsetEnvelope">OffsetEnvelope</a> v n -> <a href="Diagrams-Segment.html#t:OffsetEnvelope">OffsetEnvelope</a> v n -> <a href="Diagrams-Segment.html#t:OffsetEnvelope">OffsetEnvelope</a> v n <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Diagrams-Segment.html#t:OffsetEnvelope">OffsetEnvelope</a> v n) -> <a href="Diagrams-Segment.html#t:OffsetEnvelope">OffsetEnvelope</a> v n <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Diagrams-Segment.html#t:OffsetEnvelope">OffsetEnvelope</a> v n -> <a href="Diagrams-Segment.html#t:OffsetEnvelope">OffsetEnvelope</a> v n <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OffsetEnvelope:Measured:2" class="instance expander" onclick="toggleSection('i:id:OffsetEnvelope:Measured:2')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n) => <a href="file:///usr/share/doc/libghc-fingertree-doc/html/Data-FingerTree.html#t:Measured">Measured</a> (<a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n) (<a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n)</span> <a href="src/Diagrams-Segment.html#line-570" class="link">Source</a> <a href="#t:OffsetEnvelope" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OffsetEnvelope:Measured:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:measure">measure</a> :: <a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n -> <a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n <a href="#v:measure" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OffsetEnvelope:Measured:3" class="instance expander" onclick="toggleSection('i:id:OffsetEnvelope:Measured:3')"></span> (<a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> n, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Numeric.html#t:Floating">Floating</a> n) => <a href="file:///usr/share/doc/libghc-fingertree-doc/html/Data-FingerTree.html#t:Measured">Measured</a> (<a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n) (<a href="Diagrams-Trail.html#t:SegTree">SegTree</a> v n)</span> <a href="#t:Measured" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OffsetEnvelope:Measured:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:measure">measure</a> :: <a href="Diagrams-Trail.html#t:SegTree">SegTree</a> v n -> <a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n <a href="#v:measure" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OffsetEnvelope:Measured:4" class="instance expander" onclick="toggleSection('i:id:OffsetEnvelope:Measured:4')"></span> (<a href="file:///usr/share/doc/libghc-diagrams-core-doc/html/Diagrams-Core-Envelope.html#t:OrderedField">OrderedField</a> n, <a href="file:///usr/share/doc/libghc-linear-doc/html/Linear-Metric.html#t:Metric">Metric</a> v) => <a href="file:///usr/share/doc/libghc-fingertree-doc/html/Data-FingerTree.html#t:Measured">Measured</a> (<a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n) (<a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n)</span> <a href="src/Diagrams-Segment.html#line-574" class="link">Source</a> <a href="#t:OffsetEnvelope" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OffsetEnvelope:Measured:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:measure">measure</a> :: <a href="Diagrams-Segment.html#t:Segment">Segment</a> <a href="Diagrams-Segment.html#t:Closed">Closed</a> v n -> <a href="Diagrams-Segment.html#t:SegMeasure">SegMeasure</a> v n <a href="#v:measure" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:oeOffset" class="def">oeOffset</a> :: <span class="keyword">forall</span> v n. <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Lens-39-">Lens'</a> (<a href="Diagrams-Segment.html#t:OffsetEnvelope">OffsetEnvelope</a> v n) (<a href="Diagrams-Segment.html#t:TotalOffset">TotalOffset</a> v n) <a href="src/Diagrams-Segment.html#oeOffset" class="link">Source</a> <a href="#v:oeOffset" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:oeEnvelope" class="def">oeEnvelope</a> :: <span class="keyword">forall</span> v n. <a href="file:///usr/share/doc/libghc-lens-doc/html/Control-Lens-Type.html#t:Lens-39-">Lens'</a> (<a href="Diagrams-Segment.html#t:OffsetEnvelope">OffsetEnvelope</a> v n) (<a href="Diagrams-Envelope.html#t:Envelope">Envelope</a> v n) <a href="src/Diagrams-Segment.html#oeEnvelope" class="link">Source</a> <a href="#v:oeEnvelope" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:SegMeasure" class="def">SegMeasure</a> v n = <a href="Diagrams-Segment.html#t:SegCount">SegCount</a> <a href="file:///usr/share/doc/libghc-monoid-extras-doc/html/Data-Monoid-MList.html#t::::">:::</a> (<a href="Diagrams-Segment.html#t:ArcLength">ArcLength</a> n <a href="file:///usr/share/doc/libghc-monoid-extras-doc/html/Data-Monoid-MList.html#t::::">:::</a> (<a href="Diagrams-Segment.html#t:OffsetEnvelope">OffsetEnvelope</a> v n <a href="file:///usr/share/doc/libghc-monoid-extras-doc/html/Data-Monoid-MList.html#t::::">:::</a> ())) <a href="src/Diagrams-Segment.html#SegMeasure" class="link">Source</a> <a href="#t:SegMeasure" class="selflink">#</a></p><div class="doc"><p><code>SegMeasure</code> collects up all the measurements over a chain of
segments.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.3</p></div></body></html>
|