Let the other namespaces in!
[shapes.git] / doc / parts / extensions / Shapes-Geometry-linkpaths.sxml
blob752d56313718705c64ebc7a5b1a05ef0407ddac5
1 <?xml version="1.0" encoding="UTF-8"?>
2 <?xml-stylesheet type="text/xsl" href="formats/html.xsl"?>
4 <!-- This file is part of Shapes. -->
5 <!-- -->
6 <!-- Shapes is free software: you can redistribute it and/or modify -->
7 <!-- it under the terms of the GNU General Public License as published by -->
8 <!-- the Free Software Foundation, either version 3 of the License, or -->
9 <!-- any later version. -->
10 <!-- -->
11 <!-- Shapes is distributed in the hope that it will be useful, -->
12 <!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
13 <!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
14 <!-- GNU General Public License for more details. -->
15 <!-- -->
16 <!-- You should have received a copy of the GNU General Public License -->
17 <!-- along with Shapes. If not, see <http://www.gnu.org/licenses/>. -->
18 <!-- -->
19 <!-- Copyright 2008, 2014, 2015 Henrik Tidefelt -->
22 <book>
23 <namespace>..Shapes..Geometry</namespace>
24 <extension>linkpaths</extension>
25 <description>
26 <p>Functions for joining paths at their intersection.</p>
27 </description>
28 <needs>
29 <a extension="conssupport" />
30 </needs>
32 <title><self /></title>
33 <meta-selflink><self-href /></meta-selflink>
34 <up-link><parent-namespace /></up-link>
35 <base href=<!--#expand-next-string-->"$(BASE)" />
36 <examples-home href=<!--#expand-next-string-->"$(EXAMPLES)" />
37 <shapes-version number=<!--#expand-next-string-->"$(SHAPES_VERSION)" />
38 <external>
39 <!--#include virtual="^/toc.xml" -->
40 </external>
42 <top>
43 <alphabetical-index/>
44 <p>The functions provided by this extension are simple applications of <value name="intersection" /> and <value name="meetpaths" />. Given two paths that intersect, the first is cut after the intersection, the second is cut before the intersection, and the resulting paths may be joined seamlessly.</p>
45 </top>
47 <section id="extensions/linkpaths/bindings">
48 <title>Bindings</title>
49 <body>
50 <p>The extentsion consists of just a few bindings, and we turn directly to the details of each.</p>
52 <system-binding name="linkpaths">
53 <function>
54 <case constructor-of="Path">
55 <arguments>
56 <arg identifier="p1">
57 <type><named-type name="Path" /></type>
58 </arg>
59 <arg identifier="p2">
60 <type><named-type name="Path" /></type>
61 </arg>
62 </arguments>
63 <dynamic-references></dynamic-references>
64 <description>
65 <p>Find intersection, cut <arg name="p1" /> after the intersection, cut <arg name="p2" /> before the intersection, and merge the result.</p>
66 </description>
67 </case>
68 </function>
69 </system-binding>
71 <system-binding name="buildchain">
72 <function>
73 <case constructor-of="Path">
74 <arguments>
75 <arg identifier="pthList">
76 <type><named-type name="ConsList" /></type>
77 </arg>
78 </arguments>
79 <dynamic-references></dynamic-references>
80 <description>
81 <p>Like, <value name="linkpaths" />, but with more than two paths to join.</p>
82 </description>
83 </case>
84 </function>
85 </system-binding>
87 </body>
88 </section> <!-- End of -->
89 </book>