diff options
Diffstat (limited to '')
-rw-r--r-- | doc/livarot-images/sweepline-list-node-intersection.svg | 607 |
1 files changed, 607 insertions, 0 deletions
diff --git a/doc/livarot-images/sweepline-list-node-intersection.svg b/doc/livarot-images/sweepline-list-node-intersection.svg new file mode 100644 index 0000000..d625ee8 --- /dev/null +++ b/doc/livarot-images/sweepline-list-node-intersection.svg @@ -0,0 +1,607 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + width="976.51135" + height="558.99365" + viewBox="0 0 976.51135 558.99365" + version="1.1" + id="svg6" + inkscape:version="1.1-dev (037b845d7b, 2020-08-19, custom)" + sodipodi:docname="sweepline-list-node-intersection.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <defs + id="defs2"> + <marker + style="overflow:visible" + id="marker3158" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend" + inkscape:isstock="true"> + <path + transform="matrix(-0.8,0,0,-0.8,-10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path3156" /> + </marker> + <marker + style="overflow:visible" + id="marker3148" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lstart" + inkscape:isstock="true"> + <path + transform="matrix(0.8,0,0,0.8,10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path3146" /> + </marker> + <marker + style="overflow:visible" + id="marker3112" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend" + inkscape:isstock="true" + inkscape:collect="always"> + <path + transform="matrix(-0.8,0,0,-0.8,-10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path3110" /> + </marker> + <marker + style="overflow:visible" + id="marker3090" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lstart" + inkscape:isstock="true" + inkscape:collect="always"> + <path + transform="matrix(0.8,0,0,0.8,10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path3088" /> + </marker> + <marker + style="overflow:visible" + id="marker3066" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend" + inkscape:isstock="true" + inkscape:collect="always"> + <path + transform="matrix(-0.8,0,0,-0.8,-10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path3064" /> + </marker> + <marker + style="overflow:visible" + id="marker3018" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend" + inkscape:isstock="true" + inkscape:collect="always"> + <path + transform="matrix(-0.8,0,0,-0.8,-10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path3016" /> + </marker> + <marker + style="overflow:visible" + id="marker3002" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend" + inkscape:isstock="true"> + <path + transform="matrix(-0.8,0,0,-0.8,-10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path3000" /> + </marker> + <marker + style="overflow:visible" + id="marker2920" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend" + inkscape:isstock="true" + inkscape:collect="always"> + <path + transform="matrix(-0.8,0,0,-0.8,-10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path2918" /> + </marker> + <marker + style="overflow:visible" + id="marker2910" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend" + inkscape:isstock="true"> + <path + transform="matrix(-0.8,0,0,-0.8,-10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path2908" /> + </marker> + <marker + style="overflow:visible" + id="marker2900" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend" + inkscape:isstock="true" + inkscape:collect="always"> + <path + transform="matrix(-0.8,0,0,-0.8,-10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path2898" /> + </marker> + <marker + style="overflow:visible" + id="marker2822" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend" + inkscape:isstock="true"> + <path + transform="matrix(-0.8,0,0,-0.8,-10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path2820" /> + </marker> + <marker + style="overflow:visible" + id="marker2716" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend" + inkscape:isstock="true" + inkscape:collect="always"> + <path + transform="matrix(-0.8,0,0,-0.8,-10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path2714" /> + </marker> + <marker + style="overflow:visible" + id="marker1675" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend" + inkscape:isstock="true"> + <path + transform="matrix(-0.8,0,0,-0.8,-10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path1673" /> + </marker> + <marker + style="overflow:visible" + id="marker1603" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend" + inkscape:isstock="true" + inkscape:collect="always"> + <path + transform="matrix(-0.8,0,0,-0.8,-10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path1601" /> + </marker> + <marker + style="overflow:visible" + id="marker1501" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend" + inkscape:isstock="true" + inkscape:collect="always"> + <path + transform="matrix(-0.8,0,0,-0.8,-10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path1499" /> + </marker> + <marker + style="overflow:visible" + id="marker1491" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend" + inkscape:isstock="true"> + <path + transform="matrix(-0.8,0,0,-0.8,-10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path1489" /> + </marker> + <marker + style="overflow:visible" + id="marker1481" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend" + inkscape:isstock="true"> + <path + transform="matrix(-0.8,0,0,-0.8,-10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path1479" /> + </marker> + <marker + style="overflow:visible" + id="marker1471" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend" + inkscape:isstock="true"> + <path + transform="matrix(-0.8,0,0,-0.8,-10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path1469" /> + </marker> + <marker + style="overflow:visible" + id="marker1461" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lstart" + inkscape:isstock="true" + inkscape:collect="always"> + <path + transform="matrix(0.8,0,0,0.8,10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path1459" /> + </marker> + <marker + style="overflow:visible" + id="marker1451" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lstart" + inkscape:isstock="true"> + <path + transform="matrix(0.8,0,0,0.8,10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path1449" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.5" + inkscape:cx="234" + inkscape:cy="441" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + units="px" + width="1000px" + inkscape:window-width="1920" + inkscape:window-height="1016" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + fit-margin-left="20" + fit-margin-right="20" + fit-margin-bottom="20" + fit-margin-top="20" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-4.514839,-14.117568)"> + <rect + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none" + id="rect1393" + width="144.05873" + height="72.029366" + x="62.667423" + y="174.41948" /> + <rect + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none" + id="rect1395" + width="144.05873" + height="72.029366" + x="535.58893" + y="174.41948" /> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker1501)" + d="m 218.42268,211.64676 h 64.22195" + id="path1397" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px" + x="86.137276" + y="220.27275" + id="text1401"><tspan + sodipodi:role="line" + id="tspan1399" + x="86.137276" + y="220.27275">Node A</tspan></text> + <text + xml:space="preserve" + style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px" + x="559.70697" + y="220.30382" + id="text1405"><tspan + sodipodi:role="line" + id="tspan1403" + x="559.70697" + y="220.30382">Node C</tspan></text> + <rect + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none" + id="rect1407" + width="144.05873" + height="72.029366" + x="296.1926" + y="174.10075" /> + <text + xml:space="preserve" + style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px" + x="21.663273" + y="211.38445" + id="text1411"><tspan + sodipodi:role="line" + id="tspan1409" + x="21.663273" + y="211.38445">...</tspan></text> + <text + xml:space="preserve" + style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px" + x="318.9935" + y="219.37553" + id="text1419"><tspan + sodipodi:role="line" + id="tspan1417" + x="318.9935" + y="219.37553">Node B</tspan></text> + <text + xml:space="preserve" + style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px" + x="383.48172" + y="54.37801" + id="text1447"><tspan + sodipodi:role="line" + id="tspan1445" + x="383.48172" + y="54.37801">Intersection Event</tspan></text> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker1603)" + d="m 453.05733,209.667 h 64.22195" + id="path1599" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2716)" + d="m 694.30202,210.69254 h 64.22195" + id="path2712" + sodipodi:nodetypes="cc" /> + <rect + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none" + id="rect2736" + width="144.05873" + height="72.029366" + x="772.99939" + y="173.53534" /> + <text + xml:space="preserve" + style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px" + x="797.11743" + y="219.41968" + id="text2740"><tspan + sodipodi:role="line" + id="tspan2738" + x="797.11743" + y="219.41968">Node D</tspan></text> + <text + xml:space="preserve" + style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px" + x="937.79694" + y="211.76088" + id="text2768"><tspan + sodipodi:role="line" + id="tspan2766" + x="937.79694" + y="211.76088">...</tspan></text> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker1461);marker-end:url(#marker2822)" + d="m 367.07502,165.02758 c 0,0 122.44573,-169.2719463 237.84173,-1.9313" + id="path2806" /> + <rect + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none" + id="rect2860" + width="144.05873" + height="72.029366" + x="63.344536" + y="350.12198" /> + <rect + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none" + id="rect2862" + width="144.05873" + height="72.029366" + x="536.26605" + y="350.12198" /> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2920)" + d="m 219.0998,387.34925 h 64.22195" + id="path2864" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px" + x="86.814392" + y="395.97525" + id="text2868"><tspan + sodipodi:role="line" + id="tspan2866" + x="86.814392" + y="395.97525">Node A</tspan></text> + <text + xml:space="preserve" + style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px" + x="560.38409" + y="396.00632" + id="text2872"><tspan + sodipodi:role="line" + id="tspan2870" + x="560.38409" + y="396.00632">Node B</tspan></text> + <rect + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none" + id="rect2874" + width="144.05873" + height="72.029366" + x="296.86972" + y="349.80325" /> + <text + xml:space="preserve" + style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px" + x="22.340389" + y="387.08694" + id="text2878"><tspan + sodipodi:role="line" + id="tspan2876" + x="22.340389" + y="387.08694">...</tspan></text> + <text + xml:space="preserve" + style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px" + x="319.67062" + y="395.07803" + id="text2882"><tspan + sodipodi:role="line" + id="tspan2880" + x="319.67062" + y="395.07803">Node C</tspan></text> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2910)" + d="M 453.73445,385.36949 H 517.9564" + id="path2884" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2900)" + d="m 694.97914,386.39503 h 64.22195" + id="path2886" + sodipodi:nodetypes="cc" /> + <rect + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none" + id="rect2888" + width="144.05873" + height="72.029366" + x="773.67651" + y="349.23782" /> + <text + xml:space="preserve" + style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px" + x="797.79456" + y="395.12216" + id="text2892"><tspan + sodipodi:role="line" + id="tspan2890" + x="797.79456" + y="395.12216">Node D</tspan></text> + <text + xml:space="preserve" + style="font-size:26.6667px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px" + x="938.47406" + y="387.46338" + id="text2896"><tspan + sodipodi:role="line" + id="tspan2894" + x="938.47406" + y="387.46338">...</tspan></text> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3018)" + d="m 354.89564,261.0309 c 23.13156,81.68357 127.46419,10.52624 205.68985,76.25342" + id="path2982" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3066)" + d="M 566.79266,261.80415 C 543.6611,343.48772 439.32847,272.33039 361.10281,338.05757" + id="path3062" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker3090);marker-end:url(#marker3112)" + d="m 148.79191,446.67774 c 0,0 101.99589,128.05773 194.32452,1.50452" + id="path3086" /> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker3148);marker-end:url(#marker3158)" + d="m 627.74341,445.12726 c 0,0 101.99589,128.05773 194.32452,1.50452" + id="path3144" /> + <text + xml:space="preserve" + style="font-size:16px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px" + x="155.84358" + y="528.97888" + id="text3192"><tspan + sodipodi:role="line" + id="tspan3190" + x="155.84358" + y="528.97888" + style="font-size:16px">Test intersection between</tspan><tspan + sodipodi:role="line" + x="155.84358" + y="548.97888" + style="font-size:16px" + id="tspan3194">Node A and Node C</tspan></text> + <text + xml:space="preserve" + style="font-size:16px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px" + x="636.01483" + y="532.88464" + id="text3200"><tspan + sodipodi:role="line" + id="tspan3196" + x="636.01483" + y="532.88464" + style="font-size:16px">Test intersection between</tspan><tspan + sodipodi:role="line" + x="636.01483" + y="552.88464" + style="font-size:16px" + id="tspan3198">Node B and Node D</tspan></text> + </g> +</svg> |