7 lines
12 KiB
HTML
7 lines
12 KiB
HTML
<!DOCTYPE html PUBLIC ""
|
||
"">
|
||
<html><head><meta charset="UTF-8" /><title>walkmap.vertex documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Walkmap</span> <span class="project-version">0.1.0-SNAPSHOT</span></span></a></h1></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Project</span></h3><ul class="index-link"><li class="depth-1 "><a href="index.html"><div class="inner">Index</div></a></li></ul><h3 class="no-link"><span class="inner">Topics</span></h3><ul><li class="depth-1 "><a href="dali-performance.html"><div class="inner"><span>Dali performance</span></div></a></li><li class="depth-1 "><a href="intro.html"><div class="inner"><span>Introduction to walkmap</span></div></a></li></ul><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>walkmap</span></div></div></li><li class="depth-2 branch"><a href="walkmap.edge.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>edge</span></div></a></li><li class="depth-2 branch"><a href="walkmap.id.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>id</span></div></a></li><li class="depth-2 branch"><a href="walkmap.ocean.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>ocean</span></div></a></li><li class="depth-2 branch"><a href="walkmap.path.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>path</span></div></a></li><li class="depth-2 branch"><a href="walkmap.polygon.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>polygon</span></div></a></li><li class="depth-2 branch"><a href="walkmap.read-svg.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>read-svg</span></div></a></li><li class="depth-2 branch"><a href="walkmap.routing.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>routing</span></div></a></li><li class="depth-2 branch"><a href="walkmap.stl.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>stl</span></div></a></li><li class="depth-2 branch"><a href="walkmap.superstructure.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>superstructure</span></div></a></li><li class="depth-2 branch"><a href="walkmap.svg.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>svg</span></div></a></li><li class="depth-2 branch"><a href="walkmap.tag.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>tag</span></div></a></li><li class="depth-2 branch"><a href="walkmap.utils.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>utils</span></div></a></li><li class="depth-2 current"><a href="walkmap.vertex.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>vertex</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="walkmap.vertex.html#var-canonicalise"><div class="inner"><span>canonicalise</span></div></a></li><li class="depth-1"><a href="walkmap.vertex.html#var-check-vertex"><div class="inner"><span>check-vertex</span></div></a></li><li class="depth-1"><a href="walkmap.vertex.html#var-check-vertices"><div class="inner"><span>check-vertices</span></div></a></li><li class="depth-1"><a href="walkmap.vertex.html#var-ensure2d"><div class="inner"><span>ensure2d</span></div></a></li><li class="depth-1"><a href="walkmap.vertex.html#var-ensure3d"><div class="inner"><span>ensure3d</span></div></a></li><li class="depth-1"><a href="walkmap.vertex.html#var-vertex"><div class="inner"><span>vertex</span></div></a></li><li class="depth-1"><a href="walkmap.vertex.html#var-vertex*"><div class="inner"><span>vertex*</span></div></a></li><li class="depth-1"><a href="walkmap.vertex.html#var-vertex-key"><div class="inner"><span>vertex-key</span></div></a></li><li class="depth-1"><a href="walkmap.vertex.html#var-vertex.3D"><div class="inner"><span>vertex=</span></div></a></li><li class="depth-1"><a href="walkmap.vertex.html#var-vertex.3F"><div class="inner"><span>vertex?</span></div></a></li><li class="depth-1"><a href="walkmap.vertex.html#var-within-box.3F"><div class="inner"><span>within-box?</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">walkmap.vertex</h1><div class="doc"><div class="markdown"><p>Essentially the specification for things we shall consider to be vertices.</p>
|
||
<p>Note that there’s no <code>distance</code> function here; to find the distance between two vertices, create an edge from them and use <code>walkmap.edge/length</code>.</p></div></div><div class="public anchor" id="var-canonicalise"><h3>canonicalise</h3><div class="usage"><code>(canonicalise o)</code></div><div class="doc"><div class="markdown"><p>If <code>o</code> is a map with numeric values for <code>:x</code>, <code>:y</code> and optionally <code>:z</code>, upgrade it to something we will recognise as a vertex.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/walkmap/blob/master/src/walkmap/vertex.clj#L101">view source</a></div></div><div class="public anchor" id="var-check-vertex"><h3>check-vertex</h3><h4 class="type">macro</h4><div class="usage"><code>(check-vertex o)</code></div><div class="doc"><div class="markdown"><p>If <code>o</code> is not a vertex, throw an <code>IllegalArgumentException</code> with an appropriate message; otherwise, returns <code>o</code>. Macro, so exception is thrown from the calling function.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/walkmap/blob/master/src/walkmap/vertex.clj#L51">view source</a></div></div><div class="public anchor" id="var-check-vertices"><h3>check-vertices</h3><h4 class="type">macro</h4><div class="usage"><code>(check-vertices o)</code></div><div class="doc"><div class="markdown"><p>If <code>o</code> is not a sequence of vertices, throw an <code>IllegalArgumentException</code> with an appropriate message; otherwise, returns <code>o</code>. Macro, so exception is thrown from the calling function.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/walkmap/blob/master/src/walkmap/vertex.clj#L58">view source</a></div></div><div class="public anchor" id="var-ensure2d"><h3>ensure2d</h3><div class="usage"></div><div class="doc"><div class="markdown"><p>If <code>o</code> is a vertex, set its <code>:z</code> value to zero; else throw an exception.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/walkmap/blob/master/src/walkmap/vertex.clj#L134">view source</a></div></div><div class="public anchor" id="var-ensure3d"><h3>ensure3d</h3><div class="usage"></div><div class="doc"><div class="markdown"><p>Given a vertex <code>o</code>, if <code>o</code> has a <code>:z</code> value, just return <code>o</code>; otherwise return a vertex like <code>o</code> but having this <code>dflt</code> value as the value of its <code>:z</code> key, or zero as the value of its <code>:z</code> key if <code>dflt</code> is not specified.</p>
|
||
<p>If <code>o</code> is not a vertex, throws an exception.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/walkmap/blob/master/src/walkmap/vertex.clj#L119">view source</a></div></div><div class="public anchor" id="var-vertex"><h3>vertex</h3><div class="usage"><code>(vertex x y)</code><code>(vertex x y z)</code></div><div class="doc"><div class="markdown"><p>Make a vertex with this <code>x</code>, <code>y</code> and (if provided) <code>z</code> values. Returns a map with those values, plus a unique <code>:walkmap.id/id</code> value, and <code>:kind</code> set to <code>:vertex</code>. It’s not necessary to use this function to create a vertex, but the <code>:walkmap.id/id</code> must be present and must be unique.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/walkmap/blob/master/src/walkmap/vertex.clj#L89">view source</a></div></div><div class="public anchor" id="var-vertex*"><h3>vertex*</h3><div class="usage"><code>(vertex* v1 v2)</code></div><div class="doc"><div class="markdown"><p>Return a vertex like <code>v1</code>, but with each of its coordinates multiplied by the equivalent vertex in <code>v2</code>. It is an error, and an exception will be thrown, if either <code>v1</code> or <code>v2</code> is not a vertex.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/walkmap/blob/master/src/walkmap/vertex.clj#L74">view source</a></div></div><div class="public anchor" id="var-vertex-key"><h3>vertex-key</h3><div class="usage"><code>(vertex-key o)</code></div><div class="doc"><div class="markdown"><p>Making sure we get the same key everytime we key a vertex with the same coordinates. <code>o</code> must have numeric values for <code>:x</code>, <code>:y</code>, and optionally <code>:z</code>; it is an error and an exception will be thrown if <code>o</code> does not conform to this specification.</p>
|
||
<p><strong>Note:</strong> these keys can be quite long. No apology is made: it is required that the same key can <em>never</em> refer to two different locations in space.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/walkmap/blob/master/src/walkmap/vertex.clj#L11">view source</a></div></div><div class="public anchor" id="var-vertex.3D"><h3>vertex=</h3><div class="usage"><code>(vertex= v1 v2)</code></div><div class="doc"><div class="markdown"><p>True if vertices <code>v1</code>, <code>v2</code> represent the same vertex.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/walkmap/blob/master/src/walkmap/vertex.clj#L65">view source</a></div></div><div class="public anchor" id="var-vertex.3F"><h3>vertex?</h3><div class="usage"><code>(vertex? o)</code></div><div class="doc"><div class="markdown"><p>True if <code>o</code> satisfies the conditions for a vertex. That is, essentially, that it must rerpresent a two- or three- dimensional vector. A vertex is shall be a map having at least the keys <code>:x</code> and <code>:y</code>, where the value of those keys is a number. If the key <code>:z</code> is also present, its value must also be a number.</p>
|
||
<p>The name <code>vector?</code> was not used as that would clash with a function of that name in <code>clojure.core</code> whose semantics are entirely different.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/walkmap/blob/master/src/walkmap/vertex.clj#L33">view source</a></div></div><div class="public anchor" id="var-within-box.3F"><h3>within-box?</h3><div class="usage"><code>(within-box? target minv maxv)</code></div><div class="doc"><div class="markdown"><p>True if <code>target</code> is within the box defined by <code>minv</code> and <code>maxv</code>. All arguments must be vertices; additionally, both <code>minv</code> and <code>maxv</code> must have <code>:z</code> coordinates.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/walkmap/blob/master/src/walkmap/vertex.clj#L140">view source</a></div></div></div></body></html> |