summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/2geom/doc/media
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/2geom/doc/media')
-rw-r--r--src/3rdparty/2geom/doc/media/2geom-logo.pngbin0 -> 15181 bytes
-rw-r--r--src/3rdparty/2geom/doc/media/Rect.svg283
-rw-r--r--src/3rdparty/2geom/doc/media/bezier-curve-evaluation.pngbin0 -> 25116 bytes
-rw-r--r--src/3rdparty/2geom/doc/media/convex.pngbin0 -> 20321 bytes
-rw-r--r--src/3rdparty/2geom/doc/media/convex.svg232
-rw-r--r--src/3rdparty/2geom/doc/media/coords.pngbin0 -> 2365 bytes
-rw-r--r--src/3rdparty/2geom/doc/media/coords.svg142
-rw-r--r--src/3rdparty/2geom/doc/media/ellipse-angular-coordinates.pngbin0 -> 23125 bytes
-rw-r--r--src/3rdparty/2geom/doc/media/ellipse-angular-coordinates.svg249
-rw-r--r--src/3rdparty/2geom/doc/media/elliptical-arc-flags.pngbin0 -> 13944 bytes
-rw-r--r--src/3rdparty/2geom/doc/media/elliptical-arc-flags.svg197
-rw-r--r--src/3rdparty/2geom/doc/media/gear.pngbin0 -> 75841 bytes
-rw-r--r--src/3rdparty/2geom/doc/media/involute.pdfbin0 -> 9087 bytes
-rw-r--r--src/3rdparty/2geom/doc/media/matrix.pngbin0 -> 49751 bytes
-rw-r--r--src/3rdparty/2geom/doc/media/matrix.svg247
-rw-r--r--src/3rdparty/2geom/doc/media/point.pngbin0 -> 6612 bytes
-rw-r--r--src/3rdparty/2geom/doc/media/point.svg156
-rw-r--r--src/3rdparty/2geom/doc/media/rect.pngbin0 -> 19800 bytes
-rw-r--r--src/3rdparty/2geom/doc/media/rotate.pngbin0 -> 40354 bytes
-rw-r--r--src/3rdparty/2geom/doc/media/rotate.svg239
-rw-r--r--src/3rdparty/2geom/doc/media/sbasis.pngbin0 -> 18753 bytes
-rw-r--r--src/3rdparty/2geom/doc/media/sbasis.svg1121
-rw-r--r--src/3rdparty/2geom/doc/media/scale.pngbin0 -> 26639 bytes
-rw-r--r--src/3rdparty/2geom/doc/media/scale.svg243
-rw-r--r--src/3rdparty/2geom/doc/media/translate.pngbin0 -> 45560 bytes
-rw-r--r--src/3rdparty/2geom/doc/media/translate.svg252
26 files changed, 3361 insertions, 0 deletions
diff --git a/src/3rdparty/2geom/doc/media/2geom-logo.png b/src/3rdparty/2geom/doc/media/2geom-logo.png
new file mode 100644
index 0000000..af9a33c
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/2geom-logo.png
Binary files differ
diff --git a/src/3rdparty/2geom/doc/media/Rect.svg b/src/3rdparty/2geom/doc/media/Rect.svg
new file mode 100644
index 0000000..dab8ebd
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/Rect.svg
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="777"
+ height="555"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docbase="/home/michael/2geom/trunk/doc/media"
+ sodipodi:docname="Rect.svg"
+ version="1.0"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/michael/2geom/trunk/doc/media/scale.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200"
+ sodipodi:modified="true">
+ <metadata
+ id="metadata48">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="855"
+ inkscape:window-width="1113"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:zoom="8"
+ inkscape:cx="84.25586"
+ inkscape:cy="337.26288"
+ inkscape:window-x="157"
+ inkscape:window-y="140"
+ inkscape:current-layer="g2227"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="vertical"
+ position="111.36932"
+ id="guide4172" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="411.53615"
+ id="guide4174" />
+ </sodipodi:namedview>
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Mend"
+ style="overflow:visible;">
+ <path
+ id="path3249"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.4) rotate(180) translate(10,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mend"
+ style="overflow:visible;">
+ <path
+ id="path3212"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) rotate(180) translate(0,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Mstart"
+ style="overflow:visible">
+ <path
+ id="path3233"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.4) translate(10,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ id="path3227"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2) translate(6,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Send"
+ style="overflow:visible;">
+ <path
+ id="path3224"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.2) rotate(180) translate(6,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient4094">
+ <stop
+ style="stop-color:#eeeeec;stop-opacity:1;"
+ offset="0"
+ id="stop4096" />
+ <stop
+ style="stop-color:#eeeeec;stop-opacity:0;"
+ offset="1"
+ id="stop4098" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4062">
+ <stop
+ style="stop-color:#babdb6;stop-opacity:1;"
+ offset="0"
+ id="stop4064" />
+ <stop
+ style="stop-color:#babdb6;stop-opacity:0;"
+ offset="1"
+ id="stop4066" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4040">
+ <stop
+ style="stop-color:#babdb6;stop-opacity:1;"
+ offset="0"
+ id="stop4042" />
+ <stop
+ style="stop-color:#babdb6;stop-opacity:0;"
+ offset="1"
+ id="stop4044" />
+ </linearGradient>
+ <radialGradient
+ xlink:href="#linearGradient4062"
+ id="radialGradient4079"
+ gradientUnits="userSpaceOnUse"
+ cx="8"
+ cy="-16"
+ fx="8"
+ fy="-16"
+ r="108" />
+ <linearGradient
+ xlink:href="#linearGradient4040"
+ id="linearGradient4081"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(80,376)"
+ x1="328.5"
+ y1="-43.664978"
+ x2="328.5"
+ y2="116.68156" />
+ <linearGradient
+ xlink:href="#linearGradient4094"
+ id="linearGradient4116"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.35905,0,0,1.35905,203.6646,-185.2813)"
+ x1="95.105873"
+ y1="363.72418"
+ x2="95.105873"
+ y2="502.67734" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4040"
+ id="linearGradient3175"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,-2.121444)"
+ x1="426.27966"
+ y1="483.83633"
+ x2="426.27966"
+ y2="522.72052" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4094"
+ id="linearGradient3177"
+ gradientUnits="userSpaceOnUse"
+ x1="407.09628"
+ y1="374.48508"
+ x2="407.09628"
+ y2="485.16641" />
+ </defs>
+ <g
+ id="g2919"
+ transform="matrix(0.319896,0,0,0.319896,48.45544,81.50285)">
+ <path
+ id="path2921"
+ d="M 163.15,27.83 L 28.81,165.3 C -16.58,221.51 59.7,214.97 92.4,231.16 C 104.13,243.15 47.44,252 59.17,264 C 70.9,275.99 130.1,287.1 141.85,299.09 C 153.58,311.08 117.84,323.8 129.57,335.79 C 141.3,347.78 168.43,336.42 173.51,364.1 C 177.13,383.88 222.4,372.6 244.54,356.4 C 256.27,344.4 222.1,345.53 233.83,333.54 C 263,303.71 290.16,322.7 300.14,292.81 C 305.07,278.04 257.2,270.04 268.95,258.05 C 302.7,238.34 419.35,225.51 364,170.16 L 224.75,27.83 C 207.72,11.48 179.3,11.3 163.15,27.83 z M 130.99,238.57 C 134,238.57 231.54,251.61 193.9,261.92 C 179.72,265.8 113.53,238.57 130.99,238.57 z M 317.46,292.81 C 317.46,299.63 367.71,304.1 367.71,291.2 C 360.55,270.48 323.4,271.88 317.46,292.81 z M 91.1,329.05 C 103,339.34 121.38,326.49 126.89,312.13 C 115.36,296.81 72.2,312.68 91.1,329.05 z M 311.16,306.82 C 295.82,320.58 312.88,334.54 328,325.65 C 331.37,322.23 327.91,310.24 311.16,306.82 z "
+ style="fill:none;stroke:black;stroke-opacity:1" />
+ <path
+ id="path2925"
+ d="M 216.63,37.47 L 269.78,91.45 C 274.82,96.6 275.91315,108.88098 271.93,109.45 C 266.29292,110.2553 260.02293,94.034313 251.80374,94.034313 C 242.7616,94.034313 245.43878,123.58602 238.07227,123.58602 C 230.29748,123.58602 227.72697,107.96 218.30004,107.96 C 210.67739,107.96 205.51399,129.13114 194.80001,129.13114 C 185.2927,129.13114 177.02987,83.24 171.29999,83.24 C 166.28062,83.24 163.47697,123.96 152.33,123.96 C 133.73263,123.96 105.14,123.84 105.14,123.84 C 95.7,123.82 97.27,114.63 106.4,104.78 C 125.16,84.53 161.15,49.43 172.85,37.47 C 184.61,25.45 205.1,25.79 216.63,37.47 z "
+ style="fill:none;stroke:black;stroke-opacity:1"
+ sodipodi:nodetypes="cccsssssscccc" />
+ </g>
+ <g
+ id="g2227"
+ transform="matrix(1.448783,0,0,1.133904,-50.0431,-19.23223)">
+ <rect
+ style="fill:none;fill-opacity:1;stroke:black;stroke-width:0.24958529;stroke-miterlimit:4;stroke-dasharray:1.49751161, 1.49751161;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect2208"
+ width="80.412262"
+ height="101.14787"
+ x="71.123871"
+ y="93.46669" />
+ <path
+ sodipodi:type="arc"
+ style="fill:black;fill-opacity:1;stroke:none;stroke-width:0.31989604;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path2212"
+ sodipodi:cx="160"
+ sodipodi:cy="193"
+ sodipodi:rx="1.25"
+ sodipodi:ry="1.25"
+ d="M 161.25 193 A 1.25 1.25 0 1 1 158.75,193 A 1.25 1.25 0 1 1 161.25 193 z"
+ transform="matrix(0.690234,0,0,0.881909,41.08823,-76.69567)" />
+ <text
+ xml:space="preserve"
+ style="font-size:7.80207539px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Serif"
+ x="172.75986"
+ y="83.146294"
+ id="text3986"
+ transform="scale(0.88468,1.130352)"><tspan
+ sodipodi:role="line"
+ id="tspan3988"
+ x="172.75986"
+ y="83.146294">P<tspan
+ style="font-size:6.24165869px"
+ id="tspan3990"
+ dx="-1.7240311"
+ dy="1.9998763">max</tspan></tspan></text>
+ <path
+ transform="matrix(0.690234,0,0,0.881909,-39.39108,24.30456)"
+ d="M 161.25 193 A 1.25 1.25 0 1 1 158.75,193 A 1.25 1.25 0 1 1 161.25 193 z"
+ sodipodi:ry="1.25"
+ sodipodi:rx="1.25"
+ sodipodi:cy="193"
+ sodipodi:cx="160"
+ id="path3992"
+ style="fill:black;fill-opacity:1;stroke:none;stroke-width:0.31989604;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ sodipodi:type="arc" />
+ <text
+ transform="scale(0.88468,1.130352)"
+ id="text3994"
+ y="176.88782"
+ x="67.843575"
+ style="font-size:7.80207253px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Serif"
+ xml:space="preserve"><tspan
+ y="176.88782"
+ x="67.843575"
+ id="tspan3996"
+ sodipodi:role="line">P<tspan
+ dy="1.9998755"
+ dx="-1.7240307"
+ id="tspan3998"
+ style="font-size:6.24165726px">min</tspan></tspan></text>
+ </g>
+</svg>
diff --git a/src/3rdparty/2geom/doc/media/bezier-curve-evaluation.png b/src/3rdparty/2geom/doc/media/bezier-curve-evaluation.png
new file mode 100644
index 0000000..adb2476
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/bezier-curve-evaluation.png
Binary files differ
diff --git a/src/3rdparty/2geom/doc/media/convex.png b/src/3rdparty/2geom/doc/media/convex.png
new file mode 100644
index 0000000..a5eba70
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/convex.png
Binary files differ
diff --git a/src/3rdparty/2geom/doc/media/convex.svg b/src/3rdparty/2geom/doc/media/convex.svg
new file mode 100644
index 0000000..fea1694
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/convex.svg
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="777"
+ height="555"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docbase="/home/michael/2geom/trunk/doc/media"
+ sodipodi:docname="convex.svg"
+ version="1.0"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/michael/2geom/trunk/doc/media/scale.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200"
+ sodipodi:modified="true">
+ <metadata
+ id="metadata48">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="855"
+ inkscape:window-width="1113"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:zoom="2.8284271"
+ inkscape:cx="93.656296"
+ inkscape:cy="405.77902"
+ inkscape:window-x="157"
+ inkscape:window-y="140"
+ inkscape:current-layer="g2919"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="vertical"
+ position="111.36932"
+ id="guide4172" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="411.53615"
+ id="guide4174" />
+ </sodipodi:namedview>
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Mend"
+ style="overflow:visible;">
+ <path
+ id="path3249"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.4) rotate(180) translate(10,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mend"
+ style="overflow:visible;">
+ <path
+ id="path3212"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) rotate(180) translate(0,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Mstart"
+ style="overflow:visible">
+ <path
+ id="path3233"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.4) translate(10,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ id="path3227"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2) translate(6,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Send"
+ style="overflow:visible;">
+ <path
+ id="path3224"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.2) rotate(180) translate(6,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient4094">
+ <stop
+ style="stop-color:#eeeeec;stop-opacity:1;"
+ offset="0"
+ id="stop4096" />
+ <stop
+ style="stop-color:#eeeeec;stop-opacity:0;"
+ offset="1"
+ id="stop4098" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4062">
+ <stop
+ style="stop-color:#babdb6;stop-opacity:1;"
+ offset="0"
+ id="stop4064" />
+ <stop
+ style="stop-color:#babdb6;stop-opacity:0;"
+ offset="1"
+ id="stop4066" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4040">
+ <stop
+ style="stop-color:#babdb6;stop-opacity:1;"
+ offset="0"
+ id="stop4042" />
+ <stop
+ style="stop-color:#babdb6;stop-opacity:0;"
+ offset="1"
+ id="stop4044" />
+ </linearGradient>
+ <radialGradient
+ xlink:href="#linearGradient4062"
+ id="radialGradient4079"
+ gradientUnits="userSpaceOnUse"
+ cx="8"
+ cy="-16"
+ fx="8"
+ fy="-16"
+ r="108" />
+ <linearGradient
+ xlink:href="#linearGradient4040"
+ id="linearGradient4081"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(80,376)"
+ x1="328.5"
+ y1="-43.664978"
+ x2="328.5"
+ y2="116.68156" />
+ <linearGradient
+ xlink:href="#linearGradient4094"
+ id="linearGradient4116"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.35905,0,0,1.35905,203.6646,-185.2813)"
+ x1="95.105873"
+ y1="363.72418"
+ x2="95.105873"
+ y2="502.67734" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4040"
+ id="linearGradient3175"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,-2.121444)"
+ x1="426.27966"
+ y1="483.83633"
+ x2="426.27966"
+ y2="522.72052" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4094"
+ id="linearGradient3177"
+ gradientUnits="userSpaceOnUse"
+ x1="407.09628"
+ y1="374.48508"
+ x2="407.09628"
+ y2="485.16641" />
+ </defs>
+ <g
+ id="g2919"
+ transform="matrix(0.319896,0,0,0.319896,48.45544,81.50285)">
+ <path
+ id="path2921"
+ d="M 163.15,27.83 L 28.81,165.3 C -16.58,221.51 59.7,214.97 92.4,231.16 C 104.13,243.15 47.44,252 59.17,264 C 70.9,275.99 130.1,287.1 141.85,299.09 C 153.58,311.08 117.84,323.8 129.57,335.79 C 141.3,347.78 168.43,336.42 173.51,364.1 C 177.13,383.88 222.4,372.6 244.54,356.4 C 256.27,344.4 222.1,345.53 233.83,333.54 C 263,303.71 290.16,322.7 300.14,292.81 C 305.07,278.04 257.2,270.04 268.95,258.05 C 302.7,238.34 419.35,225.51 364,170.16 L 224.75,27.83 C 210.9464,14.577576 189.65976,11.948591 173.48938,20.230605 C 169.70978,22.166415 166.20969,24.698322 163.15,27.83 z M 130.99,238.57 C 134,238.57 231.54,251.61 193.9,261.92 C 179.72,265.8 113.53,238.57 130.99,238.57 z M 317.46,292.81 C 317.46,299.63 367.71,304.1 367.71,291.2 C 360.55,270.48 323.4,271.88 317.46,292.81 z M 91.1,329.05 C 103,339.34 121.38,326.49 126.89,312.13 C 115.36,296.81 72.2,312.68 91.1,329.05 z M 311.16,306.82 C 295.82,320.58 312.88,334.54 328,325.65 C 331.37,322.23 327.91,310.24 311.16,306.82 z "
+ style="fill:none;stroke:black;stroke-opacity:1"
+ sodipodi:nodetypes="cccccscccscccsccccccccccccc" />
+ <path
+ id="path2925"
+ d="M 216.63,37.47 L 269.78,91.45 C 274.82,96.6 275.91315,108.88098 271.93,109.45 C 266.29292,110.2553 260.02293,94.034313 251.80374,94.034313 C 242.7616,94.034313 245.43878,123.58602 238.07227,123.58602 C 230.29748,123.58602 227.72697,107.96 218.30004,107.96 C 210.67739,107.96 205.51399,129.13114 194.80001,129.13114 C 185.2927,129.13114 177.02987,83.24 171.29999,83.24 C 166.28062,83.24 163.47697,123.96 152.33,123.96 C 133.73263,123.96 105.14,123.84 105.14,123.84 C 95.7,123.82 97.27,114.63 106.4,104.78 C 125.16,84.53 161.15,49.43 172.85,37.47 C 184.61,25.45 205.1,25.79 216.63,37.47 z "
+ style="fill:none;stroke:black;stroke-opacity:1"
+ sodipodi:nodetypes="cccsssssscccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:0.99999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 42.801407,152.5919 L 57.629203,134.09469 L 102.53048,88.663078 L 109.248,85.127547 L 116.31907,86.364976 L 164.40234,135.15534 L 182.61033,153.36334 L 166.1701,178.99597 L 153.61895,185.5367 L 148.31566,188.71869 L 119.58944,200.82789 L 105.27053,204.27504 L 81.58245,189.95612 L 71.594568,181.736 L 42.801407,152.5919 z "
+ id="path2213"
+ transform="matrix(3.126016,0,0,3.126016,-151.4725,-254.7792)"
+ sodipodi:nodetypes="ccccccccccccccc" />
+ </g>
+ <g
+ id="g2227"
+ transform="matrix(1.448783,0,0,1.133904,-50.0431,-19.23223)" />
+</svg>
diff --git a/src/3rdparty/2geom/doc/media/coords.png b/src/3rdparty/2geom/doc/media/coords.png
new file mode 100644
index 0000000..343a993
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/coords.png
Binary files differ
diff --git a/src/3rdparty/2geom/doc/media/coords.svg b/src/3rdparty/2geom/doc/media/coords.svg
new file mode 100644
index 0000000..c780df0
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/coords.svg
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="151.71198"
+ height="124.79403"
+ id="svg59"
+ version="1.1"
+ inkscape:version="0.48+devel r10332"
+ sodipodi:docname="coords.svg"
+ inkscape:export-filename="/home/tweenk/src/2geom-bzr/doc/media/coords.png"
+ inkscape:export-xdpi="90.170868"
+ inkscape:export-ydpi="90.170868">
+ <defs
+ id="defs61">
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path802"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker51"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path53"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8"
+ inkscape:cx="43.083365"
+ inkscape:cy="80.424336"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1105"
+ inkscape:window-height="815"
+ inkscape:window-x="1"
+ inkscape:window-y="31"
+ inkscape:window-maximized="0"
+ inkscape:object-nodes="true"
+ inkscape:object-paths="true"
+ inkscape:snap-intersection-paths="true" />
+ <metadata
+ id="metadata64">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-166.59375,-740.58868)">
+ <path
+ transform="matrix(1,0,0,-1,80.151798,912.09043)"
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;marker-end:url(#marker51);visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 165.71428,146.6479 c 0,-16.18137 -7.27115,-30.66448 -18.72437,-40.36025"
+ id="path12"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ inkscape:connector-curvature="0"
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;marker-end:url(#Arrow1Mend);visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 193.00893,743.22826 0,119.2857"
+ id="path14"
+ sodipodi:nodetypes="cc" />
+ <path
+ inkscape:connector-curvature="0"
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;marker-end:url(#Arrow1Mend);visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 166.58037,765.44253 144.99998,0"
+ id="path16"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="311.07623"
+ y="756.33673"
+ id="text3166"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3168"
+ x="311.07623"
+ y="756.33673">X</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text3170"
+ y="862.76532"
+ x="208.93338"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ xml:space="preserve"><tspan
+ y="862.76532"
+ x="208.93338"
+ id="tspan3172"
+ sodipodi:role="line">Y</tspan></text>
+ <path
+ style="color:#000000;fill:#ff933d;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 26.41518,24.85385 69.642857,81.936886"
+ id="path4158"
+ inkscape:connector-curvature="0"
+ transform="translate(166.59375,740.58868)" />
+ </g>
+</svg>
diff --git a/src/3rdparty/2geom/doc/media/ellipse-angular-coordinates.png b/src/3rdparty/2geom/doc/media/ellipse-angular-coordinates.png
new file mode 100644
index 0000000..c79eb47
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/ellipse-angular-coordinates.png
Binary files differ
diff --git a/src/3rdparty/2geom/doc/media/ellipse-angular-coordinates.svg b/src/3rdparty/2geom/doc/media/ellipse-angular-coordinates.svg
new file mode 100644
index 0000000..e9311ec
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/ellipse-angular-coordinates.svg
@@ -0,0 +1,249 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="720"
+ height="320"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.46+devel r21383"
+ version="1.0"
+ sodipodi:docname="ellipse-angular-coordinates.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/usr/src/2geom-svn/doc/media/ellipse-angular-coordinates.png"
+ inkscape:export-xdpi="66.050827"
+ inkscape:export-ydpi="66.050827">
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ id="path805"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.2,0,0,0.2,1.2,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path802"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Send"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Send"
+ style="overflow:visible">
+ <path
+ id="path808"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path796"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.7"
+ inkscape:cx="408.19305"
+ inkscape:cy="259.59627"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:snap-bbox="false"
+ inkscape:snap-bbox-midpoints="false"
+ inkscape:snap-nodes="true"
+ inkscape:object-paths="true"
+ inkscape:snap-intersection-paths="true"
+ inkscape:snap-bbox-edge-midpoints="true"
+ inkscape:snap-global="false"
+ inkscape:window-width="1024"
+ inkscape:window-height="737"
+ inkscape:window-x="0"
+ inkscape:window-y="1" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-732.36214)">
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:none;stroke:#558ada;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path12"
+ sodipodi:cx="112.85714"
+ sodipodi:cy="146.6479"
+ sodipodi:rx="52.857143"
+ sodipodi:ry="52.857143"
+ d="m 165.71428,146.6479 a 52.857143,52.857143 0 1 1 -105.714284,0 52.857143,52.857143 0 1 1 105.714284,0 z"
+ transform="translate(22.612039,728.7384)" />
+ <path
+ style="color:#000000;fill:none;stroke:#ed0000;stroke-width:3;stroke-linecap:square;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 135.46917,875.3863 44.82926,-28.01715"
+ id="path1992" />
+ <path
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;marker-end:url(#Arrow1Mend);visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 135.46917,988.31486 0,-209.99999"
+ id="path14" />
+ <path
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;marker-end:url(#Arrow1Mend);visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 35.469178,875.3863 218.571412,0"
+ id="path16" />
+ <path
+ transform="matrix(1.3986138,1.6285045,-0.49765802,0.42740527,477.84037,634.78699)"
+ d="m 165.71428,146.6479 a 52.857143,52.857143 0 1 1 -105.714284,0 52.857143,52.857143 0 1 1 105.714284,0 z"
+ sodipodi:ry="52.857143"
+ sodipodi:rx="52.857143"
+ sodipodi:cy="146.6479"
+ sodipodi:cx="112.85714"
+ id="path2192"
+ style="color:#000000;fill:none;stroke:#558ada;stroke-width:2.52805805;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
+ <path
+ id="path2194"
+ d="m 562.70341,881.25342 76.64178,61.02997"
+ style="color:#000000;fill:none;stroke:#ed0000;stroke-width:3;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 386.66677,790.99733 0,27.3541 -99.76009,0 0,119.77841 99.76009,0 0,27.3541 51.36989,-87.22345 -51.36989,-87.26316 z"
+ id="rect2196" />
+ <text
+ xml:space="preserve"
+ style="font-size:21.50658035px;text-align:start;text-anchor:start"
+ x="296.32678"
+ y="856.89478"
+ id="text2201"><tspan
+ sodipodi:role="line"
+ id="tspan2203"
+ x="296.32678"
+ y="856.89478">rotation,</tspan><tspan
+ sodipodi:role="line"
+ x="296.32678"
+ y="883.77802"
+ id="tspan2205">scaling,</tspan><tspan
+ sodipodi:role="line"
+ x="296.32678"
+ y="910.66125"
+ id="tspan2231">translation</tspan></text>
+ <text
+ id="text2211"
+ y="1011.1191"
+ x="134.7551"
+ style="font-size:21.50658035px;text-align:center;text-anchor:middle"
+ xml:space="preserve"><tspan
+ id="tspan2215"
+ y="1011.1191"
+ x="134.7551"
+ sodipodi:role="line">mapping angle to point</tspan><tspan
+ y="1038.0023"
+ x="134.7551"
+ sodipodi:role="line"
+ id="tspan2219">on the unit circle</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:21.50658035px;text-align:center;text-anchor:middle"
+ x="571.89789"
+ y="1011.1191"
+ id="text2221"><tspan
+ id="tspan2225"
+ sodipodi:role="line"
+ x="571.89789"
+ y="1011.1191">resulting point</tspan><tspan
+ sodipodi:role="line"
+ x="571.89789"
+ y="1038.0023"
+ id="tspan2229">on the ellipse</tspan></text>
+ <path
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;marker-end:url(#Arrow1Mend)"
+ d="m 445.21287,881.25343 254.28572,0"
+ id="path2233" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path2235"
+ sodipodi:cx="580.09137"
+ sodipodi:cy="143.9436"
+ sodipodi:rx="19.989418"
+ sodipodi:ry="19.989418"
+ d="M 590.48259,161.01988 A 19.989418,19.989418 0 1 1 600.0786,143.6477"
+ sodipodi:start="1.0241371"
+ sodipodi:end="6.268382"
+ sodipodi:open="true"
+ transform="translate(-17.387962,737.30983)" />
+ <path
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 575.81386,896.51884 -10.70183,1.36745 4.09106,2.2748 -0.34104,4.33235 6.95183,-7.9746 -2e-5,0 z"
+ id="path3214"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ id="path3406"
+ d="m 562.70342,982.92526 0,-211.09183"
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;marker-end:url(#Arrow1Mend)" />
+ <path
+ style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#558ada;stroke-width:1.5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 536.39864,171.48272 589.0082,126.29988"
+ id="path3980"
+ transform="translate(0,732.36214)" />
+ <path
+ style="color:#000000;fill:none;stroke:#558ada;stroke-width:1.5;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 488.77669,62.813201 636.63015,234.96939"
+ id="path3982"
+ transform="translate(0,732.36214)" />
+ </g>
+</svg>
diff --git a/src/3rdparty/2geom/doc/media/elliptical-arc-flags.png b/src/3rdparty/2geom/doc/media/elliptical-arc-flags.png
new file mode 100644
index 0000000..7776fc3
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/elliptical-arc-flags.png
Binary files differ
diff --git a/src/3rdparty/2geom/doc/media/elliptical-arc-flags.svg b/src/3rdparty/2geom/doc/media/elliptical-arc-flags.svg
new file mode 100644
index 0000000..d4116f2
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/elliptical-arc-flags.svg
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="268.49316"
+ height="154.5769"
+ id="svg4007"
+ sodipodi:version="0.32"
+ inkscape:version="0.46+devel r21383"
+ version="1.0"
+ sodipodi:docname="elliptical-arc-flags.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/usr/src/2geom-svn/doc/media/elliptical-arc-flags.png"
+ inkscape:export-xdpi="93.85714"
+ inkscape:export-ydpi="93.85714">
+ <defs
+ id="defs4009">
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path802"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path796"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective4015" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4044"
+ inkscape:cx="111.98708"
+ inkscape:cy="73.679958"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:object-paths="true"
+ inkscape:snap-intersection-paths="true"
+ inkscape:snap-global="false"
+ inkscape:window-width="1024"
+ inkscape:window-height="737"
+ inkscape:window-x="0"
+ inkscape:window-y="1" />
+ <metadata
+ id="metadata4012">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-69.799637,-28.300815)">
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:none;stroke:#558ada;stroke-width:2.05404162;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path4017"
+ sodipodi:cx="166.17009"
+ sodipodi:cy="131.10306"
+ sodipodi:rx="124.75384"
+ sodipodi:ry="74.751289"
+ d="m 290.92393,131.10306 c 0,41.284 -55.8542,74.75129 -124.75384,74.75129 -68.899642,0 -124.753838,-33.46729 -124.753838,-74.75129 0,-41.283999 55.854196,-74.751292 124.753838,-74.751292 68.89964,0 124.75384,33.467293 124.75384,74.751292 z"
+ transform="matrix(0.61918419,0.38818562,-0.38761403,0.61827246,101.94315,-30.37653)" />
+ <path
+ transform="matrix(0.61918419,0.38818562,-0.38761403,0.61827246,170.12845,-49.569428)"
+ d="m 290.92393,131.10306 c 0,41.284 -55.8542,74.75129 -124.75384,74.75129 -68.899642,0 -124.753838,-33.46729 -124.753838,-74.75129 0,-41.283999 55.854196,-74.751292 124.753838,-74.751292 68.89964,0 124.75384,33.467293 124.75384,74.751292 z"
+ sodipodi:ry="74.751289"
+ sodipodi:rx="124.75384"
+ sodipodi:cy="131.10306"
+ sodipodi:cx="166.17009"
+ id="path4021"
+ style="color:#000000;fill:none;stroke:#558ada;stroke-width:2.05404162;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#ed0000;stroke:none;stroke-width:1.5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path4025"
+ sodipodi:cx="233.37674"
+ sodipodi:cy="159.67299"
+ sodipodi:rx="9.5633268"
+ sodipodi:ry="9.5633268"
+ d="m 242.94007,159.67299 c 0,5.28168 -4.28165,9.56333 -9.56333,9.56333 -5.28168,0 -9.56333,-4.28165 -9.56333,-9.56333 0,-5.28168 4.28165,-9.56333 9.56333,-9.56333 5.28168,0 9.56333,4.28165 9.56333,9.56333 z"
+ transform="matrix(0.55248859,0,0,0.55248859,104.43875,71.455484)" />
+ <path
+ transform="matrix(0.55248859,0,0,0.55248859,14.139401,-36.772691)"
+ d="m 242.94007,159.67299 c 0,5.28168 -4.28165,9.56333 -9.56333,9.56333 -5.28168,0 -9.56333,-4.28165 -9.56333,-9.56333 0,-5.28168 4.28165,-9.56333 9.56333,-9.56333 5.28168,0 9.56333,4.28165 9.56333,9.56333 z"
+ sodipodi:ry="9.5633268"
+ sodipodi:rx="9.5633268"
+ sodipodi:cy="159.67299"
+ sodipodi:cx="233.37674"
+ id="path4537"
+ style="color:#000000;fill:#ed0000;stroke:none;stroke-width:1.5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
+ <path
+ style="color:#000000;fill:#ed0000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:6, 6;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow1Mend);visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 147.5237,60.982766 226.57224,148.5907"
+ id="path4539" />
+ <text
+ xml:space="preserve"
+ style="text-align:center;text-anchor:middle"
+ x="319.7186"
+ y="88.171432"
+ id="text4915"><tspan
+ sodipodi:role="line"
+ id="tspan4917"
+ x="319.7186"
+ y="88.171432">sweep</tspan><tspan
+ sodipodi:role="line"
+ x="319.7186"
+ y="103.17143"
+ id="tspan4919">large</tspan></text>
+ <text
+ id="text4921"
+ y="88.171432"
+ x="242.18054"
+ style="text-align:center;text-anchor:middle"
+ xml:space="preserve"><tspan
+ y="88.171432"
+ x="242.18054"
+ id="tspan4923"
+ sodipodi:role="line">sweep</tspan><tspan
+ id="tspan4925"
+ y="103.17143"
+ x="242.18054"
+ sodipodi:role="line">!large</tspan></text>
+ <text
+ xml:space="preserve"
+ style="text-align:center;text-anchor:middle"
+ x="123.37082"
+ y="103.70818"
+ id="text4927"><tspan
+ sodipodi:role="line"
+ id="tspan4929"
+ x="123.37082"
+ y="103.70818">!sweep</tspan><tspan
+ sodipodi:role="line"
+ x="123.37082"
+ y="118.70818"
+ id="tspan4931">!large</tspan></text>
+ <text
+ id="text4933"
+ y="163.69551"
+ x="89.621902"
+ style="text-align:center;text-anchor:middle"
+ xml:space="preserve"><tspan
+ y="163.69551"
+ x="89.621902"
+ id="tspan4935"
+ sodipodi:role="line">!sweep</tspan><tspan
+ id="tspan4937"
+ y="178.69551"
+ x="89.621902"
+ sodipodi:role="line">large</tspan></text>
+ </g>
+</svg>
diff --git a/src/3rdparty/2geom/doc/media/gear.png b/src/3rdparty/2geom/doc/media/gear.png
new file mode 100644
index 0000000..3415df2
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/gear.png
Binary files differ
diff --git a/src/3rdparty/2geom/doc/media/involute.pdf b/src/3rdparty/2geom/doc/media/involute.pdf
new file mode 100644
index 0000000..f199a2f
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/involute.pdf
Binary files differ
diff --git a/src/3rdparty/2geom/doc/media/matrix.png b/src/3rdparty/2geom/doc/media/matrix.png
new file mode 100644
index 0000000..343a8e7
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/matrix.png
Binary files differ
diff --git a/src/3rdparty/2geom/doc/media/matrix.svg b/src/3rdparty/2geom/doc/media/matrix.svg
new file mode 100644
index 0000000..f331bb4
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/matrix.svg
@@ -0,0 +1,247 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="777"
+ height="555"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docbase="/home/michael/2geom/trunk/doc/media"
+ sodipodi:docname="matrix.svg"
+ version="1.0"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/michael/2geom/trunk/doc/media/scale.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200"
+ sodipodi:modified="true">
+ <metadata
+ id="metadata48">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="855"
+ inkscape:window-width="1113"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:zoom="4"
+ inkscape:cx="97.22678"
+ inkscape:cy="409.27536"
+ inkscape:window-x="157"
+ inkscape:window-y="140"
+ inkscape:current-layer="svg2"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="vertical"
+ position="111.36932"
+ id="guide4172" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="411.53615"
+ id="guide4174" />
+ </sodipodi:namedview>
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Mend"
+ style="overflow:visible;">
+ <path
+ id="path3249"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.4) rotate(180) translate(10,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mend"
+ style="overflow:visible;">
+ <path
+ id="path3212"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) rotate(180) translate(0,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Mstart"
+ style="overflow:visible">
+ <path
+ id="path3233"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.4) translate(10,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ id="path3227"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2) translate(6,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Send"
+ style="overflow:visible;">
+ <path
+ id="path3224"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.2) rotate(180) translate(6,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient4094">
+ <stop
+ style="stop-color:#eeeeec;stop-opacity:1;"
+ offset="0"
+ id="stop4096" />
+ <stop
+ style="stop-color:#eeeeec;stop-opacity:0;"
+ offset="1"
+ id="stop4098" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4062">
+ <stop
+ style="stop-color:#babdb6;stop-opacity:1;"
+ offset="0"
+ id="stop4064" />
+ <stop
+ style="stop-color:#babdb6;stop-opacity:0;"
+ offset="1"
+ id="stop4066" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4040">
+ <stop
+ style="stop-color:#babdb6;stop-opacity:1;"
+ offset="0"
+ id="stop4042" />
+ <stop
+ style="stop-color:#babdb6;stop-opacity:0;"
+ offset="1"
+ id="stop4044" />
+ </linearGradient>
+ <radialGradient
+ xlink:href="#linearGradient4062"
+ id="radialGradient4079"
+ gradientUnits="userSpaceOnUse"
+ cx="8"
+ cy="-16"
+ fx="8"
+ fy="-16"
+ r="108" />
+ <linearGradient
+ xlink:href="#linearGradient4040"
+ id="linearGradient4081"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(80,376)"
+ x1="328.5"
+ y1="-43.664978"
+ x2="328.5"
+ y2="116.68156" />
+ <linearGradient
+ xlink:href="#linearGradient4094"
+ id="linearGradient4116"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.35905,0,0,1.35905,203.6646,-185.2813)"
+ x1="95.105873"
+ y1="363.72418"
+ x2="95.105873"
+ y2="502.67734" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4040"
+ id="linearGradient3175"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,-2.121444)"
+ x1="426.27966"
+ y1="483.83633"
+ x2="426.27966"
+ y2="522.72052" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4094"
+ id="linearGradient3177"
+ gradientUnits="userSpaceOnUse"
+ x1="407.09628"
+ y1="374.48508"
+ x2="407.09628"
+ y2="485.16641" />
+ </defs>
+ <g
+ id="g2919"
+ transform="matrix(0.319896,0,0,0.319896,48.45544,81.50285)">
+ <path
+ id="path2921"
+ d="M 163.15,27.83 L 28.81,165.3 C -16.58,221.51 59.7,214.97 92.4,231.16 C 104.13,243.15 47.44,252 59.17,264 C 70.9,275.99 130.1,287.1 141.85,299.09 C 153.58,311.08 117.84,323.8 129.57,335.79 C 141.3,347.78 168.43,336.42 173.51,364.1 C 177.13,383.88 222.4,372.6 244.54,356.4 C 256.27,344.4 222.1,345.53 233.83,333.54 C 263,303.71 290.16,322.7 300.14,292.81 C 305.07,278.04 257.2,270.04 268.95,258.05 C 302.7,238.34 419.35,225.51 364,170.16 L 224.75,27.83 C 207.72,11.48 179.3,11.3 163.15,27.83 z M 130.99,238.57 C 134,238.57 231.54,251.61 193.9,261.92 C 179.72,265.8 113.53,238.57 130.99,238.57 z M 317.46,292.81 C 317.46,299.63 367.71,304.1 367.71,291.2 C 360.55,270.48 323.4,271.88 317.46,292.81 z M 91.1,329.05 C 103,339.34 121.38,326.49 126.89,312.13 C 115.36,296.81 72.2,312.68 91.1,329.05 z M 311.16,306.82 C 295.82,320.58 312.88,334.54 328,325.65 C 331.37,322.23 327.91,310.24 311.16,306.82 z "
+ style="fill:none;stroke:black;stroke-opacity:1" />
+ <path
+ id="path2925"
+ d="M 216.63,37.47 L 269.78,91.45 C 274.82,96.6 275.91315,108.88098 271.93,109.45 C 266.29292,110.2553 260.02293,94.034313 251.80374,94.034313 C 242.7616,94.034313 245.43878,123.58602 238.07227,123.58602 C 230.29748,123.58602 227.72697,107.96 218.30004,107.96 C 210.67739,107.96 205.51399,129.13114 194.80001,129.13114 C 185.2927,129.13114 177.02987,83.24 171.29999,83.24 C 166.28062,83.24 163.47697,123.96 152.33,123.96 C 133.73263,123.96 105.14,123.84 105.14,123.84 C 95.7,123.82 97.27,114.63 106.4,104.78 C 125.16,84.53 161.15,49.43 172.85,37.47 C 184.61,25.45 205.1,25.79 216.63,37.47 z "
+ style="fill:none;stroke:black;stroke-opacity:1"
+ sodipodi:nodetypes="cccsssssscccc" />
+ </g>
+ <g
+ id="g2227"
+ transform="matrix(1.448783,-7.650991e-2,-0.400046,1.15503,20.06051,-21.47177)">
+ <path
+ id="path2219"
+ d="M 111.36932,86.249996 L 111.36932,143.46385 L 169.5,143.46385"
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:0.78020775px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Mstart);marker-mid:none;marker-end:url(#Arrow1Mend);stroke-opacity:1" />
+ <g
+ id="g2221"
+ transform="matrix(0.319896,0,0,0.319896,48.45544,81.50285)">
+ <path
+ id="path2223"
+ d="M 163.15,27.83 L 28.81,165.3 C -16.58,221.51 59.7,214.97 92.4,231.16 C 104.13,243.15 47.44,252 59.17,264 C 70.9,275.99 130.1,287.1 141.85,299.09 C 153.58,311.08 117.84,323.8 129.57,335.79 C 141.3,347.78 168.43,336.42 173.51,364.1 C 177.13,383.88 222.4,372.6 244.54,356.4 C 256.27,344.4 222.1,345.53 233.83,333.54 C 263,303.71 290.16,322.7 300.14,292.81 C 305.07,278.04 257.2,270.04 268.95,258.05 C 302.7,238.34 419.35,225.51 364,170.16 L 224.75,27.83 C 207.72,11.48 179.3,11.3 163.15,27.83 z M 130.99,238.57 C 134,238.57 231.54,251.61 193.9,261.92 C 179.72,265.8 113.53,238.57 130.99,238.57 z M 317.46,292.81 C 317.46,299.63 367.71,304.1 367.71,291.2 C 360.55,270.48 323.4,271.88 317.46,292.81 z M 91.1,329.05 C 103,339.34 121.38,326.49 126.89,312.13 C 115.36,296.81 72.2,312.68 91.1,329.05 z M 311.16,306.82 C 295.82,320.58 312.88,334.54 328,325.65 C 331.37,322.23 327.91,310.24 311.16,306.82 z "
+ style="fill:none;stroke:black;stroke-width:0.78020769;stroke-miterlimit:4;stroke-dasharray:4.68124631, 4.68124631;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ id="path2225"
+ d="M 216.63,37.47 L 269.78,91.45 C 274.82,96.6 275.91315,108.88098 271.93,109.45 C 266.29292,110.2553 260.02293,94.034313 251.80374,94.034313 C 242.7616,94.034313 245.43878,123.58602 238.07227,123.58602 C 230.29748,123.58602 227.72697,107.96 218.30004,107.96 C 210.67739,107.96 205.51399,129.13114 194.80001,129.13114 C 185.2927,129.13114 177.02987,83.24 171.29999,83.24 C 166.28062,83.24 163.47697,123.96 152.33,123.96 C 133.73263,123.96 105.14,123.84 105.14,123.84 C 95.7,123.82 97.27,114.63 106.4,104.78 C 125.16,84.53 161.15,49.43 172.85,37.47 C 184.61,25.45 205.1,25.79 216.63,37.47 z "
+ style="fill:none;stroke:black;stroke-width:0.78020769;stroke-miterlimit:4;stroke-dasharray:4.68124631, 4.68124631;stroke-dashoffset:0;stroke-opacity:1"
+ sodipodi:nodetypes="cccsssssscccc" />
+ </g>
+ </g>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+ d="M 111.36932,143.46385 L 123.75,136"
+ id="path2208" />
+</svg>
diff --git a/src/3rdparty/2geom/doc/media/point.png b/src/3rdparty/2geom/doc/media/point.png
new file mode 100644
index 0000000..d0e59b7
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/point.png
Binary files differ
diff --git a/src/3rdparty/2geom/doc/media/point.svg b/src/3rdparty/2geom/doc/media/point.svg
new file mode 100644
index 0000000..5c63137
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/point.svg
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ id="svg2160"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docbase="/home/michael/2geom/trunk/doc/media"
+ sodipodi:docname="point.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ sodipodi:modified="true">
+ <defs
+ id="defs3">
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ id="path4102"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2) translate(6,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Send"
+ style="overflow:visible;">
+ <path
+ id="path4099"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.2) rotate(180) translate(6,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Mend"
+ style="overflow:visible;">
+ <path
+ id="path4105"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.4) rotate(180) translate(10,0)" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ inkscape:document-units="mm"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8"
+ inkscape:cx="178.41166"
+ inkscape:cy="63.895144"
+ inkscape:current-layer="layer1"
+ inkscape:window-width="1280"
+ inkscape:window-height="949"
+ inkscape:window-x="1280"
+ inkscape:window-y="25"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="vertical"
+ position="107.14286"
+ id="guide3050" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="56.428571"
+ id="guide3052" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <path
+ sodipodi:type="arc"
+ style="fill:black;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:0.5, 1;stroke-dashoffset:0;stroke-opacity:1"
+ id="path2178"
+ sodipodi:cx="60.104076"
+ sodipodi:cy="962.45862"
+ sodipodi:rx="1.5152289"
+ sodipodi:ry="1.5152289"
+ d="M 61.619305 962.45862 A 1.5152289 1.5152289 0 1 1 58.588848,962.45862 A 1.5152289 1.5152289 0 1 1 61.619305 962.45862 z"
+ transform="matrix(1.199594,0,0,1.199594,34.99081,-158.1218)" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Serif"
+ x="110.59128"
+ y="1000.1426"
+ id="text2180"><tspan
+ sodipodi:role="line"
+ id="tspan2182"
+ x="110.59128"
+ y="1000.1426">(60,30)</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1.77165353;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;marker-start:url(#Arrow1Sstart);marker-end:url(#Arrow1Send)"
+ d="M 0,976.6479 L 0,1052.7193 L 167.06354,1052.7193"
+ id="path2160"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1.77165413;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Send);stroke-miterlimit:4;stroke-dasharray:5.31496239,1.77165413;stroke-opacity:1;marker-start:none;stroke-dashoffset:0"
+ d="M -0.35714298,1052.3626 L 103.5899,998.42619"
+ id="path3054" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:italic;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Serif"
+ x="3.5714283"
+ y="982.36218"
+ id="text4123"><tspan
+ sodipodi:role="line"
+ id="tspan4125"
+ x="3.5714283"
+ y="982.36218"
+ style="font-style:italic">x</tspan></text>
+ <text
+ id="text4127"
+ y="1048.4336"
+ x="159.64285"
+ style="font-size:10px;font-style:italic;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Serif"
+ xml:space="preserve"><tspan
+ style="font-style:italic"
+ y="1048.4336"
+ x="159.64285"
+ id="tspan4129"
+ sodipodi:role="line">y</tspan></text>
+ </g>
+</svg>
diff --git a/src/3rdparty/2geom/doc/media/rect.png b/src/3rdparty/2geom/doc/media/rect.png
new file mode 100644
index 0000000..adb82f6
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/rect.png
Binary files differ
diff --git a/src/3rdparty/2geom/doc/media/rotate.png b/src/3rdparty/2geom/doc/media/rotate.png
new file mode 100644
index 0000000..8abea74
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/rotate.png
Binary files differ
diff --git a/src/3rdparty/2geom/doc/media/rotate.svg b/src/3rdparty/2geom/doc/media/rotate.svg
new file mode 100644
index 0000000..31a0f7c
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/rotate.svg
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="777"
+ height="555"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docbase="/home/michael/2geom/trunk/doc/media"
+ sodipodi:docname="rocate.svg"
+ version="1.0"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/michael/2geom/trunk/doc/media/scale.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200">
+ <metadata
+ id="metadata48">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="855"
+ inkscape:window-width="1113"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:zoom="2.8284271"
+ inkscape:cx="77.313404"
+ inkscape:cy="436.13958"
+ inkscape:window-x="157"
+ inkscape:window-y="140"
+ inkscape:current-layer="g2190"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="vertical"
+ position="111.36932"
+ id="guide4172" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="411.53615"
+ id="guide4174" />
+ </sodipodi:namedview>
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Mend"
+ style="overflow:visible;">
+ <path
+ id="path3249"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.4) rotate(180) translate(10,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mend"
+ style="overflow:visible;">
+ <path
+ id="path3212"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) rotate(180) translate(0,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Mstart"
+ style="overflow:visible">
+ <path
+ id="path3233"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.4) translate(10,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ id="path3227"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2) translate(6,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Send"
+ style="overflow:visible;">
+ <path
+ id="path3224"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.2) rotate(180) translate(6,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient4094">
+ <stop
+ style="stop-color:#eeeeec;stop-opacity:1;"
+ offset="0"
+ id="stop4096" />
+ <stop
+ style="stop-color:#eeeeec;stop-opacity:0;"
+ offset="1"
+ id="stop4098" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4062">
+ <stop
+ style="stop-color:#babdb6;stop-opacity:1;"
+ offset="0"
+ id="stop4064" />
+ <stop
+ style="stop-color:#babdb6;stop-opacity:0;"
+ offset="1"
+ id="stop4066" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4040">
+ <stop
+ style="stop-color:#babdb6;stop-opacity:1;"
+ offset="0"
+ id="stop4042" />
+ <stop
+ style="stop-color:#babdb6;stop-opacity:0;"
+ offset="1"
+ id="stop4044" />
+ </linearGradient>
+ <radialGradient
+ xlink:href="#linearGradient4062"
+ id="radialGradient4079"
+ gradientUnits="userSpaceOnUse"
+ cx="8"
+ cy="-16"
+ fx="8"
+ fy="-16"
+ r="108" />
+ <linearGradient
+ xlink:href="#linearGradient4040"
+ id="linearGradient4081"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(80,376)"
+ x1="328.5"
+ y1="-43.664978"
+ x2="328.5"
+ y2="116.68156" />
+ <linearGradient
+ xlink:href="#linearGradient4094"
+ id="linearGradient4116"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.35905,0,0,1.35905,203.6646,-185.2813)"
+ x1="95.105873"
+ y1="363.72418"
+ x2="95.105873"
+ y2="502.67734" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4040"
+ id="linearGradient3175"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,-2.121444)"
+ x1="426.27966"
+ y1="483.83633"
+ x2="426.27966"
+ y2="522.72052" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4094"
+ id="linearGradient3177"
+ gradientUnits="userSpaceOnUse"
+ x1="407.09628"
+ y1="374.48508"
+ x2="407.09628"
+ y2="485.16641" />
+ </defs>
+ <g
+ id="g2919"
+ transform="matrix(0.319896,0,0,0.319896,48.45544,81.50285)">
+ <path
+ id="path2921"
+ d="M 163.15,27.83 L 28.81,165.3 C -16.58,221.51 59.7,214.97 92.4,231.16 C 104.13,243.15 47.44,252 59.17,264 C 70.9,275.99 130.1,287.1 141.85,299.09 C 153.58,311.08 117.84,323.8 129.57,335.79 C 141.3,347.78 168.43,336.42 173.51,364.1 C 177.13,383.88 222.4,372.6 244.54,356.4 C 256.27,344.4 222.1,345.53 233.83,333.54 C 263,303.71 290.16,322.7 300.14,292.81 C 305.07,278.04 257.2,270.04 268.95,258.05 C 302.7,238.34 419.35,225.51 364,170.16 L 224.75,27.83 C 207.72,11.48 179.3,11.3 163.15,27.83 z M 130.99,238.57 C 134,238.57 231.54,251.61 193.9,261.92 C 179.72,265.8 113.53,238.57 130.99,238.57 z M 317.46,292.81 C 317.46,299.63 367.71,304.1 367.71,291.2 C 360.55,270.48 323.4,271.88 317.46,292.81 z M 91.1,329.05 C 103,339.34 121.38,326.49 126.89,312.13 C 115.36,296.81 72.2,312.68 91.1,329.05 z M 311.16,306.82 C 295.82,320.58 312.88,334.54 328,325.65 C 331.37,322.23 327.91,310.24 311.16,306.82 z "
+ style="fill:none;stroke:black;stroke-opacity:1" />
+ <path
+ id="path2925"
+ d="M 216.63,37.47 L 269.78,91.45 C 274.82,96.6 275.91315,108.88098 271.93,109.45 C 266.29292,110.2553 260.02293,94.034313 251.80374,94.034313 C 242.7616,94.034313 245.43878,123.58602 238.07227,123.58602 C 230.29748,123.58602 227.72697,107.96 218.30004,107.96 C 210.67739,107.96 205.51399,129.13114 194.80001,129.13114 C 185.2927,129.13114 177.02987,83.24 171.29999,83.24 C 166.28062,83.24 163.47697,123.96 152.33,123.96 C 133.73263,123.96 105.14,123.84 105.14,123.84 C 95.7,123.82 97.27,114.63 106.4,104.78 C 125.16,84.53 161.15,49.43 172.85,37.47 C 184.61,25.45 205.1,25.79 216.63,37.47 z "
+ style="fill:none;stroke:black;stroke-opacity:1"
+ sodipodi:nodetypes="cccsssssscccc" />
+ </g>
+ <g
+ transform="matrix(0.228764,0.223608,-0.223608,0.228764,109.769,54.85103)"
+ id="g2190">
+ <path
+ style="fill:none;stroke:black;stroke-width:0.99999995;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:5.99999975,5.99999975;stroke-dashoffset:0"
+ d="M 163.15,27.83 L 28.81,165.3 C -16.58,221.51 59.7,214.97 92.4,231.16 C 104.13,243.15 47.44,252 59.17,264 C 70.9,275.99 130.1,287.1 141.85,299.09 C 153.58,311.08 117.84,323.8 129.57,335.79 C 141.3,347.78 168.43,336.42 173.51,364.1 C 177.13,383.88 222.4,372.6 244.54,356.4 C 256.27,344.4 222.1,345.53 233.83,333.54 C 263,303.71 290.16,322.7 300.14,292.81 C 305.07,278.04 257.2,270.04 268.95,258.05 C 302.7,238.34 419.35,225.51 364,170.16 L 224.75,27.83 C 207.72,11.48 179.3,11.3 163.15,27.83 z M 130.99,238.57 C 134,238.57 231.54,251.61 193.9,261.92 C 179.72,265.8 113.53,238.57 130.99,238.57 z M 317.46,292.81 C 317.46,299.63 367.71,304.1 367.71,291.2 C 360.55,270.48 323.4,271.88 317.46,292.81 z M 91.1,329.05 C 103,339.34 121.38,326.49 126.89,312.13 C 115.36,296.81 72.2,312.68 91.1,329.05 z M 311.16,306.82 C 295.82,320.58 312.88,334.54 328,325.65 C 331.37,322.23 327.91,310.24 311.16,306.82 z "
+ id="path2192" />
+ <path
+ sodipodi:nodetypes="cccsssssscccc"
+ style="fill:none;stroke:black;stroke-width:0.99999995;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:5.99999975,5.99999975;stroke-dashoffset:0"
+ d="M 216.63,37.47 L 269.78,91.45 C 274.82,96.6 275.91315,108.88098 271.93,109.45 C 266.29292,110.2553 260.02293,94.034313 251.80374,94.034313 C 242.7616,94.034313 245.43878,123.58602 238.07227,123.58602 C 230.29748,123.58602 227.72697,107.96 218.30004,107.96 C 210.67739,107.96 205.51399,129.13114 194.80001,129.13114 C 185.2927,129.13114 177.02987,83.24 171.29999,83.24 C 166.28062,83.24 163.47697,123.96 152.33,123.96 C 133.73263,123.96 105.14,123.84 105.14,123.84 C 95.7,123.82 97.27,114.63 106.4,104.78 C 125.16,84.53 161.15,49.43 172.85,37.47 C 184.61,25.45 205.1,25.79 216.63,37.47 z "
+ id="path2194" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend);stroke-opacity:1"
+ d="M 111.36932,86.541753 L 111.36932,143.46385 L 169.35208,143.46385"
+ id="path2196"
+ transform="matrix(3.126016,0,0,3.126016,-151.4725,-254.7792)" />
+ </g>
+</svg>
diff --git a/src/3rdparty/2geom/doc/media/sbasis.png b/src/3rdparty/2geom/doc/media/sbasis.png
new file mode 100644
index 0000000..4e0aad1
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/sbasis.png
Binary files differ
diff --git a/src/3rdparty/2geom/doc/media/sbasis.svg b/src/3rdparty/2geom/doc/media/sbasis.svg
new file mode 100644
index 0000000..c5b4cbe
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/sbasis.svg
@@ -0,0 +1,1121 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="352.37646"
+ height="289.65378"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48+devel r10201 custom"
+ sodipodi:docname="sbasis.svg"
+ inkscape:export-filename="/home/tweenk/src/2geom-bzr/doc/media/sbasis.png"
+ inkscape:export-xdpi="150.07809"
+ inkscape:export-ydpi="150.07809">
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path796"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart"
+ style="overflow:visible">
+ <path
+ id="path793"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath1898">
+ <rect
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:1.61399996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect1900"
+ width="22.223356"
+ height="23.991123"
+ x="269.76013"
+ y="174.68845"
+ transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,0,0)" />
+ </clipPath>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath1910">
+ <rect
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:1.61399996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect1912"
+ width="33.214287"
+ height="22.857143"
+ x="-182.01929"
+ y="290.14496"
+ transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)" />
+ </clipPath>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="210.52422"
+ inkscape:cy="131.46418"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:object-nodes="true"
+ inkscape:snap-global="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="999"
+ inkscape:window-height="828"
+ inkscape:window-x="3"
+ inkscape:window-y="89"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(28.575407,-95.703979)">
+ <path
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:1.61399996;stroke-miterlimit:4;stroke-dasharray:none;marker:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend);visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 60,98.790754 0,254.999996 260.71429,0"
+ id="path10"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:31.43364906px;font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:LMMathItalic12;-inkscape-font-specification:LMMathItalic12 Bold Italic"
+ x="7.2479248"
+ y="123.86304"
+ id="text1415-0"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan1417-1"
+ x="7.2479234"
+ y="123.86304"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:LMRoman12;-inkscape-font-specification:LMRoman12"
+ id="tspan1440">(1–</tspan>t<tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:LMRoman12;-inkscape-font-specification:LMRoman12"
+ id="tspan2082">)</tspan><tspan
+ id="tspan2088"
+ style="font-size:65.00091553%;font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;baseline-shift:super;font-family:LMMathItalic12;-inkscape-font-specification:LMMathItalic12 Bold Italic">n</tspan></tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text1446"
+ y="385.04343"
+ x="299.8241"
+ style="font-size:31.43364906px;font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:LMMathItalic12;-inkscape-font-specification:LMMathItalic12 Bold Italic"
+ xml:space="preserve"><tspan
+ y="385.04343"
+ x="299.8241"
+ id="tspan1448"
+ sodipodi:role="line">t<tspan
+ style="font-size:65.00091553%;baseline-shift:super"
+ id="tspan2084">n</tspan></tspan></text>
+ <rect
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:1.61399996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect1454"
+ width="28.571428"
+ height="28.571428"
+ x="60"
+ y="325.21933"
+ inkscape:tile-cx="40.040511"
+ inkscape:tile-cy="284.51535"
+ inkscape:tile-w="28.571428"
+ inkscape:tile-h="28.571428"
+ inkscape:tile-x0="25.754797"
+ inkscape:tile-y0="270.22964" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#00ff00;stroke:#000000;stroke-width:2.30571437;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path1840"
+ sodipodi:cx="74.285713"
+ sodipodi:cy="139.50505"
+ sodipodi:rx="14.285713"
+ sodipodi:ry="14.285715"
+ d="m 88.571426,139.50505 c 0,7.88978 -6.395931,14.28572 -14.285713,14.28572 C 66.395932,153.79077 60,147.39483 60,139.50505 c 0,-7.88978 6.395932,-14.28571 14.285713,-14.28571 7.889782,0 14.285713,6.39593 14.285713,14.28571 z"
+ transform="matrix(0.69999998,0,0,0.69999998,22.285716,41.851518)" />
+ <use
+ x="0"
+ y="0"
+ xlink:href="#path1840"
+ id="use1846"
+ transform="translate(28.571428,28.571423)"
+ width="744.09448"
+ height="1052.3622" />
+ <use
+ height="1052.3622"
+ width="744.09448"
+ transform="translate(57.142857,57.142853)"
+ id="use1848"
+ xlink:href="#path1840"
+ y="0"
+ x="0" />
+ <use
+ x="0"
+ y="0"
+ xlink:href="#path1840"
+ id="use1850"
+ transform="translate(85.714285,85.714283)"
+ width="744.09448"
+ height="1052.3622" />
+ <use
+ height="1052.3622"
+ width="744.09448"
+ transform="translate(114.28571,114.28571)"
+ id="use1852"
+ xlink:href="#path1840"
+ y="0"
+ x="0" />
+ <use
+ x="0"
+ y="0"
+ xlink:href="#path1840"
+ id="use1854"
+ transform="translate(142.85714,142.85714)"
+ width="744.09448"
+ height="1052.3622" />
+ <use
+ height="1052.3622"
+ width="744.09448"
+ transform="translate(171.42857,171.42857)"
+ id="use1856"
+ xlink:href="#path1840"
+ y="0"
+ x="0" />
+ <use
+ x="0"
+ y="0"
+ xlink:href="#path1840"
+ id="use1858"
+ transform="translate(200,199.99999)"
+ width="744.09448"
+ height="1052.3622" />
+ <path
+ transform="matrix(0.69999998,0,0,0.69999998,22.285716,241.85151)"
+ d="m 88.571426,139.50505 c 0,7.88978 -6.395931,14.28572 -14.285713,14.28572 C 66.395932,153.79077 60,147.39483 60,139.50505 c 0,-7.88978 6.395932,-14.28571 14.285713,-14.28571 7.889782,0 14.285713,6.39593 14.285713,14.28571 z"
+ sodipodi:ry="14.285715"
+ sodipodi:rx="14.285713"
+ sodipodi:cy="139.50505"
+ sodipodi:cx="74.285713"
+ id="path1862"
+ style="color:#000000;fill:#ff0000;stroke:#000000;stroke-width:2.30571437;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
+ <use
+ x="0"
+ y="0"
+ xlink:href="#path1862"
+ id="use1864"
+ transform="translate(57.142857,-1.213469e-8)"
+ width="744.09448"
+ height="1052.3622" />
+ <use
+ height="1052.3622"
+ width="744.09448"
+ transform="translate(85.714285,-1.213469e-8)"
+ id="use1866"
+ xlink:href="#path1862"
+ y="0"
+ x="0" />
+ <use
+ x="0"
+ y="0"
+ xlink:href="#path1862"
+ id="use1868"
+ transform="translate(114.28571,-1.213469e-8)"
+ width="744.09448"
+ height="1052.3622" />
+ <use
+ height="1052.3622"
+ width="744.09448"
+ transform="translate(142.85714,-1.213469e-8)"
+ id="use1870"
+ xlink:href="#path1862"
+ y="0"
+ x="0" />
+ <use
+ x="0"
+ y="0"
+ xlink:href="#path1862"
+ id="use1872"
+ transform="translate(171.42857,-1.213469e-8)"
+ width="744.09448"
+ height="1052.3622" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#0000ff;stroke:#000000;stroke-width:2.30571437;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path1874"
+ sodipodi:cx="74.285713"
+ sodipodi:cy="139.50505"
+ sodipodi:rx="14.285713"
+ sodipodi:ry="14.285715"
+ d="m 88.571426,139.50505 c 0,7.88978 -6.395931,14.28572 -14.285713,14.28572 C 66.395932,153.79077 60,147.39483 60,139.50505 c 0,-7.88978 6.395932,-14.28571 14.285713,-14.28571 7.889782,0 14.285713,6.39593 14.285713,14.28571 z"
+ transform="matrix(0.69999998,0,0,0.69999998,50.857144,241.85151)" />
+ <use
+ x="0"
+ y="0"
+ xlink:href="#path1874"
+ id="use1876"
+ transform="translate(-28.571428,-28.571427)"
+ width="744.09448"
+ height="1052.3622" />
+ <use
+ height="1052.3622"
+ width="744.09448"
+ transform="translate(3.9812881e-7,-57.142856)"
+ id="use1878"
+ xlink:href="#path1874"
+ y="0"
+ x="0" />
+ <use
+ x="0"
+ y="0"
+ xlink:href="#path1874"
+ id="use1880"
+ transform="translate(28.571429,-85.714284)"
+ width="744.09448"
+ height="1052.3622" />
+ <use
+ height="1052.3622"
+ width="744.09448"
+ transform="translate(28.571429,-28.571427)"
+ id="use1882"
+ xlink:href="#path1874"
+ y="0"
+ x="0" />
+ <use
+ x="0"
+ y="0"
+ xlink:href="#path1874"
+ id="use1884"
+ transform="translate(57.142857,-57.142856)"
+ width="744.09448"
+ height="1052.3622" />
+ <use
+ height="1052.3622"
+ width="744.09448"
+ transform="translate(28.574438,0.01913589)"
+ id="use1890"
+ xlink:href="#path1862"
+ y="0"
+ x="0"
+ clip-path="url(#clipPath1898)" />
+ <use
+ clip-path="url(#clipPath1898)"
+ x="0"
+ y="0"
+ xlink:href="#path1862"
+ id="use1902"
+ transform="translate(199.91558,-0.10527461)"
+ width="744.09448"
+ height="1052.3622" />
+ <use
+ height="1052.3622"
+ width="744.09448"
+ transform="translate(57.142857,-114.28571)"
+ id="use1906"
+ xlink:href="#path1874"
+ y="0"
+ x="0"
+ clip-path="url(#clipPath1910)" />
+ <use
+ clip-path="url(#clipPath1910)"
+ x="0"
+ y="0"
+ xlink:href="#path1874"
+ id="use1914"
+ transform="translate(85.714282,-85.714285)"
+ width="744.09448"
+ height="1052.3622" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ id="use2126"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(0,-28.571428)"
+ id="use2128"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(0,-57.142857)"
+ id="use2130"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(0,-85.714285)"
+ id="use2132"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(0,-114.28571)"
+ id="use2134"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(0,-142.85714)"
+ id="use2136"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(0,-171.42857)"
+ id="use2138"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(0,-200)"
+ id="use2140"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(28.571428,0)"
+ id="use2142"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(28.571428,-28.571428)"
+ id="use2144"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(28.571428,-57.142857)"
+ id="use2146"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(28.571428,-85.714285)"
+ id="use2148"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(28.571428,-114.28571)"
+ id="use2150"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(28.571428,-142.85714)"
+ id="use2152"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(28.571428,-171.42857)"
+ id="use2154"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(28.571428,-200)"
+ id="use2156"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(57.142857,0)"
+ id="use2158"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(57.142857,-28.571428)"
+ id="use2160"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(57.142857,-57.142857)"
+ id="use2162"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(57.142857,-85.714285)"
+ id="use2164"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(57.142857,-114.28571)"
+ id="use2166"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(57.142857,-142.85714)"
+ id="use2168"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(57.142857,-171.42857)"
+ id="use2170"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(57.142857,-200)"
+ id="use2172"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(85.714285,0)"
+ id="use2174"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(85.714285,-28.571428)"
+ id="use2176"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(85.714285,-57.142857)"
+ id="use2178"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(85.714285,-85.714285)"
+ id="use2180"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(85.714285,-114.28571)"
+ id="use2182"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(85.714285,-142.85714)"
+ id="use2184"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(85.714285,-171.42857)"
+ id="use2186"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(85.714285,-200)"
+ id="use2188"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(114.28571,0)"
+ id="use2190"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(114.28571,-28.571428)"
+ id="use2192"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(114.28571,-57.142857)"
+ id="use2194"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(114.28571,-85.714285)"
+ id="use2196"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(114.28571,-114.28571)"
+ id="use2198"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(114.28571,-142.85714)"
+ id="use2200"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(114.28571,-171.42857)"
+ id="use2202"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(114.28571,-200)"
+ id="use2204"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(142.85714,0)"
+ id="use2206"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(142.85714,-28.571428)"
+ id="use2208"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(142.85714,-57.142857)"
+ id="use2210"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(142.85714,-85.714285)"
+ id="use2212"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(142.85714,-114.28571)"
+ id="use2214"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(142.85714,-142.85714)"
+ id="use2216"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(142.85714,-171.42857)"
+ id="use2218"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(142.85714,-200)"
+ id="use2220"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(171.42857,0)"
+ id="use2222"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(171.42857,-28.571428)"
+ id="use2224"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(171.42857,-57.142857)"
+ id="use2226"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(171.42857,-85.714285)"
+ id="use2228"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(171.42857,-114.28571)"
+ id="use2230"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(171.42857,-142.85714)"
+ id="use2232"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(171.42857,-171.42857)"
+ id="use2234"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(171.42857,-200)"
+ id="use2236"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(200,0)"
+ id="use2238"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(200,-28.571428)"
+ id="use2240"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(200,-57.142857)"
+ id="use2242"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(200,-85.714285)"
+ id="use2244"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(200,-114.28571)"
+ id="use2246"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(200,-142.85714)"
+ id="use2248"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(200,-171.42857)"
+ id="use2250"
+ width="344.55585"
+ height="333.58237" />
+ <use
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#rect1454"
+ xlink:href="#rect1454"
+ transform="translate(200,-200)"
+ id="use2252"
+ width="344.55585"
+ height="333.58237" />
+ <text
+ xml:space="preserve"
+ style="font-size:18.89756584px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12"
+ x="47.198875"
+ y="345.9967"
+ id="text113"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan115"
+ x="47.198875"
+ y="345.9967">0</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text117"
+ y="317.42383"
+ x="47.198875"
+ style="font-size:18.89756584px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12"
+ xml:space="preserve"><tspan
+ y="317.42383"
+ x="47.198875"
+ id="tspan119"
+ sodipodi:role="line">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18.89756584px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12"
+ x="47.198875"
+ y="288.85092"
+ id="text121"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan123"
+ x="47.198875"
+ y="288.85092">2</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text125"
+ y="260.27805"
+ x="47.198875"
+ style="font-size:18.89756584px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12"
+ xml:space="preserve"><tspan
+ y="260.27805"
+ x="47.198875"
+ id="tspan127"
+ sodipodi:role="line">3</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18.89756584px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12"
+ x="47.198875"
+ y="231.70517"
+ id="text129"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan131"
+ x="47.198875"
+ y="231.70517">4</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text133"
+ y="203.13228"
+ x="47.198875"
+ style="font-size:18.89756584px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12"
+ xml:space="preserve"><tspan
+ y="203.13228"
+ x="47.198875"
+ id="tspan135"
+ sodipodi:role="line">5</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18.89756584px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12"
+ x="47.198875"
+ y="174.5594"
+ id="text137"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan139"
+ x="47.198875"
+ y="174.5594">6</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text141"
+ y="145.98651"
+ x="47.198875"
+ style="font-size:18.89756584px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12"
+ xml:space="preserve"><tspan
+ y="145.98651"
+ x="47.198875"
+ id="tspan143"
+ sodipodi:role="line">7</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text145"
+ y="372.78241"
+ x="74.341736"
+ style="font-size:18.89756584px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12"
+ xml:space="preserve"><tspan
+ y="372.78241"
+ x="74.341736"
+ id="tspan147"
+ sodipodi:role="line">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18.89756584px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12"
+ x="102.86214"
+ y="372.78241"
+ id="text149"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan151"
+ x="102.86214"
+ y="372.78241">1</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text153"
+ y="372.78241"
+ x="131.38255"
+ style="font-size:18.89756584px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12"
+ xml:space="preserve"><tspan
+ y="372.78241"
+ x="131.38255"
+ id="tspan155"
+ sodipodi:role="line">2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18.89756584px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12"
+ x="159.90297"
+ y="372.78241"
+ id="text157"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan159"
+ x="159.90297"
+ y="372.78241">3</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text161"
+ y="372.78241"
+ x="188.42337"
+ style="font-size:18.89756584px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12"
+ xml:space="preserve"><tspan
+ y="372.78241"
+ x="188.42337"
+ id="tspan163"
+ sodipodi:role="line">4</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18.89756584px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12"
+ x="216.94377"
+ y="372.78241"
+ id="text165"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan167"
+ x="216.94377"
+ y="372.78241">5</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text169"
+ y="372.78241"
+ x="245.46419"
+ style="font-size:18.89756584px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12"
+ xml:space="preserve"><tspan
+ y="372.78241"
+ x="245.46419"
+ id="tspan171"
+ sodipodi:role="line">6</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18.89756584px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12"
+ x="273.98459"
+ y="372.78241"
+ id="text173"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan175"
+ x="273.98459"
+ y="372.78241">7</tspan></text>
+ </g>
+</svg>
diff --git a/src/3rdparty/2geom/doc/media/scale.png b/src/3rdparty/2geom/doc/media/scale.png
new file mode 100644
index 0000000..3d62b7e
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/scale.png
Binary files differ
diff --git a/src/3rdparty/2geom/doc/media/scale.svg b/src/3rdparty/2geom/doc/media/scale.svg
new file mode 100644
index 0000000..3d37be4
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/scale.svg
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="777"
+ height="555"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docbase="/home/michael/2geom/trunk/doc/media"
+ sodipodi:docname="scale.svg"
+ version="1.0"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/michael/2geom/trunk/doc/media/scale.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200"
+ sodipodi:modified="true">
+ <metadata
+ id="metadata48">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="855"
+ inkscape:window-width="1113"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:zoom="4"
+ inkscape:cx="97.22678"
+ inkscape:cy="404.19505"
+ inkscape:window-x="157"
+ inkscape:window-y="140"
+ inkscape:current-layer="g2227"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="vertical"
+ position="111.36932"
+ id="guide4172" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="411.53615"
+ id="guide4174" />
+ </sodipodi:namedview>
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Mend"
+ style="overflow:visible;">
+ <path
+ id="path3249"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.4) rotate(180) translate(10,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mend"
+ style="overflow:visible;">
+ <path
+ id="path3212"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) rotate(180) translate(0,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Mstart"
+ style="overflow:visible">
+ <path
+ id="path3233"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.4) translate(10,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ id="path3227"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2) translate(6,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Send"
+ style="overflow:visible;">
+ <path
+ id="path3224"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.2) rotate(180) translate(6,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient4094">
+ <stop
+ style="stop-color:#eeeeec;stop-opacity:1;"
+ offset="0"
+ id="stop4096" />
+ <stop
+ style="stop-color:#eeeeec;stop-opacity:0;"
+ offset="1"
+ id="stop4098" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4062">
+ <stop
+ style="stop-color:#babdb6;stop-opacity:1;"
+ offset="0"
+ id="stop4064" />
+ <stop
+ style="stop-color:#babdb6;stop-opacity:0;"
+ offset="1"
+ id="stop4066" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4040">
+ <stop
+ style="stop-color:#babdb6;stop-opacity:1;"
+ offset="0"
+ id="stop4042" />
+ <stop
+ style="stop-color:#babdb6;stop-opacity:0;"
+ offset="1"
+ id="stop4044" />
+ </linearGradient>
+ <radialGradient
+ xlink:href="#linearGradient4062"
+ id="radialGradient4079"
+ gradientUnits="userSpaceOnUse"
+ cx="8"
+ cy="-16"
+ fx="8"
+ fy="-16"
+ r="108" />
+ <linearGradient
+ xlink:href="#linearGradient4040"
+ id="linearGradient4081"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(80,376)"
+ x1="328.5"
+ y1="-43.664978"
+ x2="328.5"
+ y2="116.68156" />
+ <linearGradient
+ xlink:href="#linearGradient4094"
+ id="linearGradient4116"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.35905,0,0,1.35905,203.6646,-185.2813)"
+ x1="95.105873"
+ y1="363.72418"
+ x2="95.105873"
+ y2="502.67734" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4040"
+ id="linearGradient3175"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,-2.121444)"
+ x1="426.27966"
+ y1="483.83633"
+ x2="426.27966"
+ y2="522.72052" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4094"
+ id="linearGradient3177"
+ gradientUnits="userSpaceOnUse"
+ x1="407.09628"
+ y1="374.48508"
+ x2="407.09628"
+ y2="485.16641" />
+ </defs>
+ <g
+ id="g2919"
+ transform="matrix(0.319896,0,0,0.319896,48.45544,81.50285)">
+ <path
+ id="path2921"
+ d="M 163.15,27.83 L 28.81,165.3 C -16.58,221.51 59.7,214.97 92.4,231.16 C 104.13,243.15 47.44,252 59.17,264 C 70.9,275.99 130.1,287.1 141.85,299.09 C 153.58,311.08 117.84,323.8 129.57,335.79 C 141.3,347.78 168.43,336.42 173.51,364.1 C 177.13,383.88 222.4,372.6 244.54,356.4 C 256.27,344.4 222.1,345.53 233.83,333.54 C 263,303.71 290.16,322.7 300.14,292.81 C 305.07,278.04 257.2,270.04 268.95,258.05 C 302.7,238.34 419.35,225.51 364,170.16 L 224.75,27.83 C 207.72,11.48 179.3,11.3 163.15,27.83 z M 130.99,238.57 C 134,238.57 231.54,251.61 193.9,261.92 C 179.72,265.8 113.53,238.57 130.99,238.57 z M 317.46,292.81 C 317.46,299.63 367.71,304.1 367.71,291.2 C 360.55,270.48 323.4,271.88 317.46,292.81 z M 91.1,329.05 C 103,339.34 121.38,326.49 126.89,312.13 C 115.36,296.81 72.2,312.68 91.1,329.05 z M 311.16,306.82 C 295.82,320.58 312.88,334.54 328,325.65 C 331.37,322.23 327.91,310.24 311.16,306.82 z "
+ style="fill:none;stroke:black;stroke-opacity:1" />
+ <path
+ id="path2925"
+ d="M 216.63,37.47 L 269.78,91.45 C 274.82,96.6 275.91315,108.88098 271.93,109.45 C 266.29292,110.2553 260.02293,94.034313 251.80374,94.034313 C 242.7616,94.034313 245.43878,123.58602 238.07227,123.58602 C 230.29748,123.58602 227.72697,107.96 218.30004,107.96 C 210.67739,107.96 205.51399,129.13114 194.80001,129.13114 C 185.2927,129.13114 177.02987,83.24 171.29999,83.24 C 166.28062,83.24 163.47697,123.96 152.33,123.96 C 133.73263,123.96 105.14,123.84 105.14,123.84 C 95.7,123.82 97.27,114.63 106.4,104.78 C 125.16,84.53 161.15,49.43 172.85,37.47 C 184.61,25.45 205.1,25.79 216.63,37.47 z "
+ style="fill:none;stroke:black;stroke-opacity:1"
+ sodipodi:nodetypes="cccsssssscccc" />
+ </g>
+ <g
+ id="g2227"
+ transform="matrix(1.448783,0,0,1.133904,-50.0431,-19.23223)">
+ <path
+ id="path2219"
+ d="M 111.36932,86.249996 L 111.36932,143.46385 L 169.5,143.46385"
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:0.78020775px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-mid:none;marker-end:url(#Arrow1Mend)" />
+ <g
+ id="g2221"
+ transform="matrix(0.319896,0,0,0.319896,48.45544,81.50285)">
+ <path
+ id="path2223"
+ d="M 163.15,27.83 L 28.81,165.3 C -16.58,221.51 59.7,214.97 92.4,231.16 C 104.13,243.15 47.44,252 59.17,264 C 70.9,275.99 130.1,287.1 141.85,299.09 C 153.58,311.08 117.84,323.8 129.57,335.79 C 141.3,347.78 168.43,336.42 173.51,364.1 C 177.13,383.88 222.4,372.6 244.54,356.4 C 256.27,344.4 222.1,345.53 233.83,333.54 C 263,303.71 290.16,322.7 300.14,292.81 C 305.07,278.04 257.2,270.04 268.95,258.05 C 302.7,238.34 419.35,225.51 364,170.16 L 224.75,27.83 C 207.72,11.48 179.3,11.3 163.15,27.83 z M 130.99,238.57 C 134,238.57 231.54,251.61 193.9,261.92 C 179.72,265.8 113.53,238.57 130.99,238.57 z M 317.46,292.81 C 317.46,299.63 367.71,304.1 367.71,291.2 C 360.55,270.48 323.4,271.88 317.46,292.81 z M 91.1,329.05 C 103,339.34 121.38,326.49 126.89,312.13 C 115.36,296.81 72.2,312.68 91.1,329.05 z M 311.16,306.82 C 295.82,320.58 312.88,334.54 328,325.65 C 331.37,322.23 327.91,310.24 311.16,306.82 z "
+ style="fill:none;stroke:black;stroke-width:0.78020771;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:4.68124631,4.68124631;stroke-dashoffset:0" />
+ <path
+ id="path2225"
+ d="M 216.63,37.47 L 269.78,91.45 C 274.82,96.6 275.91315,108.88098 271.93,109.45 C 266.29292,110.2553 260.02293,94.034313 251.80374,94.034313 C 242.7616,94.034313 245.43878,123.58602 238.07227,123.58602 C 230.29748,123.58602 227.72697,107.96 218.30004,107.96 C 210.67739,107.96 205.51399,129.13114 194.80001,129.13114 C 185.2927,129.13114 177.02987,83.24 171.29999,83.24 C 166.28062,83.24 163.47697,123.96 152.33,123.96 C 133.73263,123.96 105.14,123.84 105.14,123.84 C 95.7,123.82 97.27,114.63 106.4,104.78 C 125.16,84.53 161.15,49.43 172.85,37.47 C 184.61,25.45 205.1,25.79 216.63,37.47 z "
+ style="fill:none;stroke:black;stroke-width:0.78020771;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:4.68124631,4.68124631;stroke-dashoffset:0"
+ sodipodi:nodetypes="cccsssssscccc" />
+ </g>
+ </g>
+</svg>
diff --git a/src/3rdparty/2geom/doc/media/translate.png b/src/3rdparty/2geom/doc/media/translate.png
new file mode 100644
index 0000000..56de688
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/translate.png
Binary files differ
diff --git a/src/3rdparty/2geom/doc/media/translate.svg b/src/3rdparty/2geom/doc/media/translate.svg
new file mode 100644
index 0000000..33bb817
--- /dev/null
+++ b/src/3rdparty/2geom/doc/media/translate.svg
@@ -0,0 +1,252 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="777"
+ height="555"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docbase="/home/michael/2geom/trunk/doc/media"
+ sodipodi:docname="scale.svg"
+ version="1.0"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/michael/2geom/trunk/doc/media/scale.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200"
+ sodipodi:modified="true">
+ <metadata
+ id="metadata48">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="855"
+ inkscape:window-width="1113"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:zoom="2.8284271"
+ inkscape:cx="132.09309"
+ inkscape:cy="435.9628"
+ inkscape:window-x="157"
+ inkscape:window-y="140"
+ inkscape:current-layer="svg2"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="vertical"
+ position="111.36932"
+ id="guide4172" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="411.53615"
+ id="guide4174" />
+ <sodipodi:guide
+ orientation="vertical"
+ position="170.05918"
+ id="guide3076" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="460.68007"
+ id="guide3078" />
+ </sodipodi:namedview>
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Mend"
+ style="overflow:visible;">
+ <path
+ id="path3249"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.4) rotate(180) translate(10,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mend"
+ style="overflow:visible;">
+ <path
+ id="path3212"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) rotate(180) translate(0,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Mstart"
+ style="overflow:visible">
+ <path
+ id="path3233"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.4) translate(10,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ id="path3227"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2) translate(6,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Send"
+ style="overflow:visible;">
+ <path
+ id="path3224"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.2) rotate(180) translate(6,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient4094">
+ <stop
+ style="stop-color:#eeeeec;stop-opacity:1;"
+ offset="0"
+ id="stop4096" />
+ <stop
+ style="stop-color:#eeeeec;stop-opacity:0;"
+ offset="1"
+ id="stop4098" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4062">
+ <stop
+ style="stop-color:#babdb6;stop-opacity:1;"
+ offset="0"
+ id="stop4064" />
+ <stop
+ style="stop-color:#babdb6;stop-opacity:0;"
+ offset="1"
+ id="stop4066" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4040">
+ <stop
+ style="stop-color:#babdb6;stop-opacity:1;"
+ offset="0"
+ id="stop4042" />
+ <stop
+ style="stop-color:#babdb6;stop-opacity:0;"
+ offset="1"
+ id="stop4044" />
+ </linearGradient>
+ <radialGradient
+ xlink:href="#linearGradient4062"
+ id="radialGradient4079"
+ gradientUnits="userSpaceOnUse"
+ cx="8"
+ cy="-16"
+ fx="8"
+ fy="-16"
+ r="108" />
+ <linearGradient
+ xlink:href="#linearGradient4040"
+ id="linearGradient4081"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(80,376)"
+ x1="328.5"
+ y1="-43.664978"
+ x2="328.5"
+ y2="116.68156" />
+ <linearGradient
+ xlink:href="#linearGradient4094"
+ id="linearGradient4116"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.35905,0,0,1.35905,203.6646,-185.2813)"
+ x1="95.105873"
+ y1="363.72418"
+ x2="95.105873"
+ y2="502.67734" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4040"
+ id="linearGradient3175"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,-2.121444)"
+ x1="426.27966"
+ y1="483.83633"
+ x2="426.27966"
+ y2="522.72052" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4094"
+ id="linearGradient3177"
+ gradientUnits="userSpaceOnUse"
+ x1="407.09628"
+ y1="374.48508"
+ x2="407.09628"
+ y2="485.16641" />
+ </defs>
+ <g
+ id="g2919"
+ transform="matrix(0.319896,0,0,0.319896,48.45544,81.50285)">
+ <path
+ id="path2921"
+ d="M 163.15,27.83 L 28.81,165.3 C -16.58,221.51 59.7,214.97 92.4,231.16 C 104.13,243.15 47.44,252 59.17,264 C 70.9,275.99 130.1,287.1 141.85,299.09 C 153.58,311.08 117.84,323.8 129.57,335.79 C 141.3,347.78 168.43,336.42 173.51,364.1 C 177.13,383.88 222.4,372.6 244.54,356.4 C 256.27,344.4 222.1,345.53 233.83,333.54 C 263,303.71 290.16,322.7 300.14,292.81 C 305.07,278.04 257.2,270.04 268.95,258.05 C 302.7,238.34 419.35,225.51 364,170.16 L 224.75,27.83 C 207.72,11.48 179.3,11.3 163.15,27.83 z M 130.99,238.57 C 134,238.57 231.54,251.61 193.9,261.92 C 179.72,265.8 113.53,238.57 130.99,238.57 z M 317.46,292.81 C 317.46,299.63 367.71,304.1 367.71,291.2 C 360.55,270.48 323.4,271.88 317.46,292.81 z M 91.1,329.05 C 103,339.34 121.38,326.49 126.89,312.13 C 115.36,296.81 72.2,312.68 91.1,329.05 z M 311.16,306.82 C 295.82,320.58 312.88,334.54 328,325.65 C 331.37,322.23 327.91,310.24 311.16,306.82 z "
+ style="fill:none;stroke:black;stroke-opacity:1" />
+ <path
+ id="path2925"
+ d="M 216.63,37.47 L 269.78,91.45 C 274.82,96.6 275.91315,108.88098 271.93,109.45 C 266.29292,110.2553 260.02293,94.034313 251.80374,94.034313 C 242.7616,94.034313 245.43878,123.58602 238.07227,123.58602 C 230.29748,123.58602 227.72697,107.96 218.30004,107.96 C 210.67739,107.96 205.51399,129.13114 194.80001,129.13114 C 185.2927,129.13114 177.02987,83.24 171.29999,83.24 C 166.28062,83.24 163.47697,123.96 152.33,123.96 C 133.73263,123.96 105.14,123.84 105.14,123.84 C 95.7,123.82 97.27,114.63 106.4,104.78 C 125.16,84.53 161.15,49.43 172.85,37.47 C 184.61,25.45 205.1,25.79 216.63,37.47 z "
+ style="fill:none;stroke:black;stroke-opacity:1"
+ sodipodi:nodetypes="cccsssssscccc" />
+ </g>
+ <g
+ transform="matrix(0.228764,0.223608,-0.223608,0.228764,109.769,54.85103)"
+ id="g2190">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:3.12601709px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Mstart);marker-end:none;stroke-opacity:1"
+ d="M 220.61954,-37.561022 L 196.6698,193.69109"
+ id="path2196"
+ sodipodi:nodetypes="cc" />
+ </g>
+ <g
+ transform="matrix(0.319896,0,0,0.319896,106.8078,32.71248)"
+ id="g3080">
+ <path
+ style="fill:none;stroke:black;stroke-opacity:1;stroke-width:1.00000003;stroke-miterlimit:4;stroke-dasharray:6.00000025,6.00000025;stroke-dashoffset:0"
+ d="M 163.15,27.83 L 28.81,165.3 C -16.58,221.51 59.7,214.97 92.4,231.16 C 104.13,243.15 47.44,252 59.17,264 C 70.9,275.99 130.1,287.1 141.85,299.09 C 153.58,311.08 117.84,323.8 129.57,335.79 C 141.3,347.78 168.43,336.42 173.51,364.1 C 177.13,383.88 222.4,372.6 244.54,356.4 C 256.27,344.4 222.1,345.53 233.83,333.54 C 263,303.71 290.16,322.7 300.14,292.81 C 305.07,278.04 257.2,270.04 268.95,258.05 C 302.7,238.34 419.35,225.51 364,170.16 L 224.75,27.83 C 207.72,11.48 179.3,11.3 163.15,27.83 z M 130.99,238.57 C 134,238.57 231.54,251.61 193.9,261.92 C 179.72,265.8 113.53,238.57 130.99,238.57 z M 317.46,292.81 C 317.46,299.63 367.71,304.1 367.71,291.2 C 360.55,270.48 323.4,271.88 317.46,292.81 z M 91.1,329.05 C 103,339.34 121.38,326.49 126.89,312.13 C 115.36,296.81 72.2,312.68 91.1,329.05 z M 311.16,306.82 C 295.82,320.58 312.88,334.54 328,325.65 C 331.37,322.23 327.91,310.24 311.16,306.82 z "
+ id="path3082" />
+ <path
+ sodipodi:nodetypes="cccsssssscccc"
+ style="fill:none;stroke:black;stroke-opacity:1;stroke-width:1.00000003;stroke-miterlimit:4;stroke-dasharray:6.00000025,6.00000025;stroke-dashoffset:0"
+ d="M 216.63,37.47 L 269.78,91.45 C 274.82,96.6 275.91315,108.88098 271.93,109.45 C 266.29292,110.2553 260.02293,94.034313 251.80374,94.034313 C 242.7616,94.034313 245.43878,123.58602 238.07227,123.58602 C 230.29748,123.58602 227.72697,107.96 218.30004,107.96 C 210.67739,107.96 205.51399,129.13114 194.80001,129.13114 C 185.2927,129.13114 177.02987,83.24 171.29999,83.24 C 166.28062,83.24 163.47697,123.96 152.33,123.96 C 133.73263,123.96 105.14,123.84 105.14,123.84 C 95.7,123.82 97.27,114.63 106.4,104.78 C 125.16,84.53 161.15,49.43 172.85,37.47 C 184.61,25.45 205.1,25.79 216.63,37.47 z "
+ id="path3084" />
+ </g>
+</svg>