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. -->
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. -->
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. -->
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/>. -->
19 <!-- Copyright 2008, 2014, 2015 Henrik Tidefelt -->
23 <namespace>..Shapes..Geometry
</namespace>
24 <extension>linkpaths
</extension>
26 <p>Functions for joining paths at their intersection.
</p>
29 <extension path=
"..Shapes..Data/conssupport" />
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)" />
39 <!--#include virtual="^/toc.xml" -->
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>
47 <section id=
"extensions/linkpaths/bindings">
48 <title>Bindings
</title>
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">
54 <case constructor-of=
"Path">
57 <type><named-type name=
"Path" /></type>
60 <type><named-type name=
"Path" /></type>
63 <dynamic-references></dynamic-references>
65 <p>Find intersection, cut
<arg name=
"p1" /> after the intersection, cut
<arg name=
"p2" /> before the intersection, and merge the result.
</p>
71 <system-binding name=
"buildchain">
73 <case constructor-of=
"Path">
75 <arg identifier=
"pthList">
76 <type><named-type name=
"ConsList" /></type>
79 <dynamic-references></dynamic-references>
81 <p>Like,
<value name=
"linkpaths" />, but with more than two paths to join.
</p>
88 </section> <!-- End of -->