--- /dev/null
+<?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="200"
+ height="200"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="Net_Split.svg">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8"
+ inkscape:cx="95.337668"
+ inkscape:cy="109.5734"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer6"
+ showgrid="true"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ inkscape:snap-global="true"
+ inkscape:window-width="1390"
+ inkscape:window-height="876"
+ inkscape:window-x="50"
+ inkscape:window-y="24"
+ inkscape:window-maximized="1"
+ inkscape:snap-grids="false"
+ inkscape:snap-to-guides="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3003"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="100,100"
+ id="guide3015" />
+ <sodipodi:guide
+ orientation="1,0"
+ position="100,100"
+ id="guide3017" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="80,80"
+ id="guide3021" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="120,120"
+ id="guide3023" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="100,155"
+ id="guide4138" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="100,45"
+ id="guide4140" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="100,175"
+ id="guide4142" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="100,135"
+ id="guide4144" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="100,65"
+ id="guide4146" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="100,25"
+ id="guide4148" />
+ </sodipodi:namedview>
+ <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="RS"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-852.36218)"
+ style="display:inline">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 190,10 -50,0 -20,180 50,0"
+ id="path3139"
+ inkscape:connector-curvature="0"
+ transform="translate(0,852.36218)" />
+ <path
+ sodipodi:type="arc"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="path3915-9-8-0"
+ sodipodi:cx="-145"
+ sodipodi:cy="-35"
+ sodipodi:rx="5"
+ sodipodi:ry="5"
+ d="m -140,-35 a 5,5 0 1 1 -10,0 5,5 0 1 1 10,0 z"
+ transform="translate(273.06913,932.36218)" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="RD"
+ style="display:none">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 190,10 -50,0 -10,70 50,0"
+ id="path3114"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 180,120 -50,0 -10,70 50,0"
+ id="path3116"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:type="arc"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="path3915-9"
+ sodipodi:cx="-145"
+ sodipodi:cy="-35"
+ sodipodi:rx="5"
+ sodipodi:ry="5"
+ d="m -140,-35 a 5,5 0 1 1 -10,0 5,5 0 1 1 10,0 z"
+ transform="translate(274.89948,60)" />
+ <path
+ sodipodi:type="arc"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="path3915-9-3"
+ sodipodi:cx="-145"
+ sodipodi:cy="-35"
+ sodipodi:rx="5"
+ sodipodi:ry="5"
+ d="m -140,-35 a 5,5 0 1 1 -10,0 5,5 0 1 1 10,0 z"
+ transform="translate(264.82935,170)" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer3"
+ inkscape:label="LS"
+ style="display:inline">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="M 10,190 60,190 80,10 30,10"
+ id="path3909"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:type="arc"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="path3915-9-8-1"
+ sodipodi:cx="-145"
+ sodipodi:cy="-35"
+ sodipodi:rx="5"
+ sodipodi:ry="5"
+ d="m -140,-35 a 5,5 0 1 1 -10,0 5,5 0 1 1 10,0 z"
+ transform="translate(229.0923,80)" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer4"
+ inkscape:label="LD"
+ style="display:none">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 10,190 50,0 10,-70 -50,0"
+ id="path3911"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="M 20,80 70,80 80,10 30,10"
+ id="path3913"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:type="arc"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="path3915-9-32"
+ sodipodi:cx="-145"
+ sodipodi:cy="-35"
+ sodipodi:rx="5"
+ sodipodi:ry="5"
+ d="m -140,-35 a 5,5 0 1 1 -10,0 5,5 0 1 1 10,0 z"
+ transform="translate(230.89286,60)" />
+ <path
+ sodipodi:type="arc"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="path3915-9-9"
+ sodipodi:cx="-145"
+ sodipodi:cy="-35"
+ sodipodi:rx="5"
+ sodipodi:ry="5"
+ d="m -140,-35 a 5,5 0 1 1 -10,0 5,5 0 1 1 10,0 z"
+ transform="translate(220.85072,170)" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer6"
+ inkscape:label="KL"
+ style="display:none">
+ <path
+ sodipodi:type="arc"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="path3915-9-8-0-9"
+ sodipodi:cx="-145"
+ sodipodi:cy="-35"
+ sodipodi:rx="5"
+ sodipodi:ry="5"
+ d="m -140,-35 a 5,5 0 1 1 -10,0 5,5 0 1 1 10,0 z"
+ transform="translate(216.94404,190)" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer5"
+ inkscape:label="KR"
+ style="display:none">
+ <path
+ sodipodi:type="arc"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="path3915-9-8-2"
+ sodipodi:cx="-145"
+ sodipodi:cy="-35"
+ sodipodi:rx="5"
+ sodipodi:ry="5"
+ d="m -140,-35 a 5,5 0 1 1 -10,0 5,5 0 1 1 10,0 z"
+ transform="translate(260.85187,190)" />
+ </g>
+</svg>
--- /dev/null
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.10.2 (http://cairographics.org)
+%%CreationDate: Fri Oct 21 21:17:10 2011
+%%Pages: 1
+%%BoundingBox: 0 -1 144 147
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%EndComments
+%%BeginProlog
+/cairo_eps_state save def
+/dict_count countdictstack def
+/op_count count 1 sub def
+userdict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+ { globaldict begin /?pdfmark /pop load def /pdfmark
+ /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+%%EndProlog
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 -1 144 147
+%%EndPageSetup
+q 0 -1 144 148 rectclip q
+0 146.4 144 -147 re W n
+0 g
+2.4 w
+0 J
+0 j
+[] 0.0 d
+4 M q 1 0 0 -1 0 146.399994 cm
+144 1.199 m 104 1.199 l 96 57.199 l 136 57.199 l S Q
+q 1 0 0 -1 0 146.399994 cm
+136 89.199 m 96 89.199 l 88 145.199 l 128 145.199 l S Q
+q 1 0 0 -1 0 146.399994 cm
+99.918 13.199 m 99.918 15.41 98.129 17.199 95.918 17.199 c 93.711
+17.199 91.918 15.41 91.918 13.199 c 91.918 10.992 93.711 9.199 95.918
+9.199 c 98.129 9.199 99.918 10.992 99.918 13.199 c h
+99.918 13.199 m S Q
+q 1 0 0 -1 0 146.399994 cm
+91.863 101.199 m 91.863 103.41 90.074 105.199 87.863 105.199 c 85.656
+105.199 83.863 103.41 83.863 101.199 c 83.863 98.992 85.656 97.199
+87.863 97.199 c 90.074 97.199 91.863 98.992 91.863 101.199 c h
+91.863 101.199 m S Q
+q 1 0 0 -1 0 146.399994 cm
+0 145.199 m 40 145.199 l 48 89.199 l 8 89.199 l S Q
+q 1 0 0 -1 0 146.399994 cm
+8 57.199 m 48 57.199 l 56 1.199 l 16 1.199 l S Q
+q 1 0 0 -1 0 146.399994 cm
+64.715 13.199 m 64.715 15.41 62.922 17.199 60.715 17.199 c 58.504
+17.199 56.715 15.41 56.715 13.199 c 56.715 10.992 58.504 9.199 60.715
+9.199 c 62.922 9.199 64.715 10.992 64.715 13.199 c h
+64.715 13.199 m S Q
+q 1 0 0 -1 0 146.399994 cm
+56.68 101.199 m 56.68 103.41 54.891 105.199 52.68 105.199 c 50.473
+105.199 48.68 103.41 48.68 101.199 c 48.68 98.992 50.473 97.199 52.68
+97.199 c 54.891 97.199 56.68 98.992 56.68 101.199 c h
+56.68 101.199 m S Q
+Q Q
+showpage
+%%Trailer
+count op_count sub {pop} repeat
+countdictstack dict_count sub {end} repeat
+cairo_eps_state restore
+%%EOF
--- /dev/null
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.10.2 (http://cairographics.org)
+%%CreationDate: Fri Oct 21 21:16:40 2011
+%%Pages: 1
+%%BoundingBox: 0 -1 144 147
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%EndComments
+%%BeginProlog
+/cairo_eps_state save def
+/dict_count countdictstack def
+/op_count count 1 sub def
+userdict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+ { globaldict begin /?pdfmark /pop load def /pdfmark
+ /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+%%EndProlog
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 -1 144 147
+%%EndPageSetup
+q 0 -1 144 148 rectclip q
+0 146.4 144 -147 re W n
+0 g
+2.4 w
+0 J
+0 j
+[] 0.0 d
+4 M q 1 0 0 -1 0 146.399994 cm
+144 1.199 m 104 1.199 l 88 145.199 l 128 145.199 l S Q
+q 1 0 0 -1 0 146.399994 cm
+98.457 29.199 m 98.457 31.41 96.664 33.199 94.457 33.199 c 92.246
+33.199 90.457 31.41 90.457 29.199 c 90.457 26.992 92.246 25.199 94.457
+25.199 c 96.664 25.199 98.457 26.992 98.457 29.199 c h
+98.457 29.199 m S Q
+q 1 0 0 -1 0 146.399994 cm
+0 145.199 m 40 145.199 l 48 89.199 l 8 89.199 l S Q
+q 1 0 0 -1 0 146.399994 cm
+8 57.199 m 48 57.199 l 56 1.199 l 16 1.199 l S Q
+q 1 0 0 -1 0 146.399994 cm
+64.715 13.199 m 64.715 15.41 62.922 17.199 60.715 17.199 c 58.504
+17.199 56.715 15.41 56.715 13.199 c 56.715 10.992 58.504 9.199 60.715
+9.199 c 62.922 9.199 64.715 10.992 64.715 13.199 c h
+64.715 13.199 m S Q
+q 1 0 0 -1 0 146.399994 cm
+56.68 101.199 m 56.68 103.41 54.891 105.199 52.68 105.199 c 50.473
+105.199 48.68 103.41 48.68 101.199 c 48.68 98.992 50.473 97.199 52.68
+97.199 c 54.891 97.199 56.68 98.992 56.68 101.199 c h
+56.68 101.199 m S Q
+q 1 0 0 -1 0 146.399994 cm
+88.68 117.199 m 88.68 119.41 86.891 121.199 84.68 121.199 c 82.473
+121.199 80.68 119.41 80.68 117.199 c 80.68 114.992 82.473 113.199 84.68
+113.199 c 86.891 113.199 88.68 114.992 88.68 117.199 c h
+88.68 117.199 m S Q
+Q Q
+showpage
+%%Trailer
+count op_count sub {pop} repeat
+countdictstack dict_count sub {end} repeat
+cairo_eps_state restore
+%%EOF
--- /dev/null
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.10.2 (http://cairographics.org)
+%%CreationDate: Fri Oct 21 21:17:32 2011
+%%Pages: 1
+%%BoundingBox: 0 -1 144 147
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%EndComments
+%%BeginProlog
+/cairo_eps_state save def
+/dict_count countdictstack def
+/op_count count 1 sub def
+userdict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+ { globaldict begin /?pdfmark /pop load def /pdfmark
+ /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+%%EndProlog
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 -1 144 147
+%%EndPageSetup
+q 0 -1 144 148 rectclip q
+0 146.4 144 -147 re W n
+0 g
+2.4 w
+0 J
+0 j
+[] 0.0 d
+4 M q 1 0 0 -1 0 146.399994 cm
+144 1.199 m 104 1.199 l 96 57.199 l 136 57.199 l S Q
+q 1 0 0 -1 0 146.399994 cm
+136 89.199 m 96 89.199 l 88 145.199 l 128 145.199 l S Q
+q 1 0 0 -1 0 146.399994 cm
+99.918 13.199 m 99.918 15.41 98.129 17.199 95.918 17.199 c 93.711
+17.199 91.918 15.41 91.918 13.199 c 91.918 10.992 93.711 9.199 95.918
+9.199 c 98.129 9.199 99.918 10.992 99.918 13.199 c h
+99.918 13.199 m S Q
+q 1 0 0 -1 0 146.399994 cm
+91.863 101.199 m 91.863 103.41 90.074 105.199 87.863 105.199 c 85.656
+105.199 83.863 103.41 83.863 101.199 c 83.863 98.992 85.656 97.199
+87.863 97.199 c 90.074 97.199 91.863 98.992 91.863 101.199 c h
+91.863 101.199 m S Q
+q 1 0 0 -1 0 146.399994 cm
+0 145.199 m 40 145.199 l 56 1.199 l 16 1.199 l S Q
+q 1 0 0 -1 0 146.399994 cm
+63.273 29.199 m 63.273 31.41 61.484 33.199 59.273 33.199 c 57.066
+33.199 55.273 31.41 55.273 29.199 c 55.273 26.992 57.066 25.199 59.273
+25.199 c 61.484 25.199 63.273 26.992 63.273 29.199 c h
+63.273 29.199 m S Q
+q 1 0 0 -1 0 146.399994 cm
+53.555 117.199 m 53.555 119.41 51.766 121.199 49.555 121.199 c 47.348
+121.199 45.555 119.41 45.555 117.199 c 45.555 114.992 47.348 113.199
+49.555 113.199 c 51.766 113.199 53.555 114.992 53.555 117.199 c h
+53.555 117.199 m S Q
+Q Q
+showpage
+%%Trailer
+count op_count sub {pop} repeat
+countdictstack dict_count sub {end} repeat
+cairo_eps_state restore
+%%EOF
--- /dev/null
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.10.2 (http://cairographics.org)
+%%CreationDate: Fri Oct 21 21:16:03 2011
+%%Pages: 1
+%%BoundingBox: 0 -1 144 147
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%EndComments
+%%BeginProlog
+/cairo_eps_state save def
+/dict_count countdictstack def
+/op_count count 1 sub def
+userdict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+ { globaldict begin /?pdfmark /pop load def /pdfmark
+ /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+%%EndProlog
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 -1 144 147
+%%EndPageSetup
+q 0 -1 144 148 rectclip q
+0 146.4 144 -147 re W n
+0 g
+2.4 w
+0 J
+0 j
+[] 0.0 d
+4 M q 1 0 0 -1 0 146.399994 cm
+144 1.199 m 104 1.199 l 88 145.199 l 128 145.199 l S Q
+q 1 0 0 -1 0 146.399994 cm
+98.457 29.199 m 98.457 31.41 96.664 33.199 94.457 33.199 c 92.246
+33.199 90.457 31.41 90.457 29.199 c 90.457 26.992 92.246 25.199 94.457
+25.199 c 96.664 25.199 98.457 26.992 98.457 29.199 c h
+98.457 29.199 m S Q
+q 1 0 0 -1 0 146.399994 cm
+0 145.199 m 40 145.199 l 56 1.199 l 16 1.199 l S Q
+q 1 0 0 -1 0 146.399994 cm
+63.273 29.199 m 63.273 31.41 61.484 33.199 59.273 33.199 c 57.066
+33.199 55.273 31.41 55.273 29.199 c 55.273 26.992 57.066 25.199 59.273
+25.199 c 61.484 25.199 63.273 26.992 63.273 29.199 c h
+63.273 29.199 m S Q
+Q Q
+showpage
+%%Trailer
+count op_count sub {pop} repeat
+countdictstack dict_count sub {end} repeat
+cairo_eps_state restore
+%%EOF
--- /dev/null
+function n = quadNorm(coordinates, elements,varargin)
+%
+% norm = quadNorm(coordinates, elements)
+% norm = quadNorm(coordinates, elements, 'FLAG')
+%
+% Diese Funktion Berechnet die Orthogonalen mit Laenge 1 über alle Flächen
+% FLAG:
+% w -> Laenge entspricht Flaecheninhalt
+%
+% P.Schaefer
+
+%% Parameterueberpruefung
+w = 1;
+
+optargin = size(varargin,2);
+if(optargin>1)
+ error('Zu viele Argumente');
+elseif(optargin==1)
+ if(ismember('w',varargin{1}))
+ w = 0;
+ end
+end
+
+ %Numbers needed
+ s_ele = size(elements,1);
+
+
+%% calculate the Norm
+ n = zeros(size(elements,1),3);
+ for i = 1:s_ele
+ % normalized Vector on every triangle
+ tri = elements(i,:);
+ a = (coordinates(tri(2),:)-coordinates(tri(1),:));
+ b = (coordinates(tri(4),:)-coordinates(tri(1),:));
+ N = cross(a',b');
+ if(w)
+ N = N/norm(N);
+ end
+ n(i,:) = N;
+ end
+
+end
+
+
+
-function [coo,ele,f2s] = refineQuad(coordinates,elements,type)
+function [coo,ele,nei,f2s] = refineQuad(coordinates,elements,neigh,type)
%
% [coordinates,elements,fa2so] = refineQuad(coordinates,elements,type)
%
%
% P. Schaefer
+
+%Type wenn nur ein Wert: aufblaehen
if([1 1] == size(type))
type = repmat(type, size(elements,1),1);
end
+%Globale Variabelen aufbauen
global G_ref_E;
global G_ref_C;
global G_ref_N;
global G_ref_f2s;
global G_ref_t;
+%Elementanzahl speichern
c_loop = size(elements,1);
-
+%Globale Variablen zuweisen
G_ref_E = elements;
G_ref_C = coordinates;
+G_ref_N = neigh;
G_ref_t = type;
G_ref_f2s = repmat([1:c_loop]',1,4);
+%Parameter Freigeben (Speicher...)
+clear elements coordinates neigh type
+
+%Jedes Element verfeinern
for i = 1:c_loop
refine(i);
end
+%Rueckgabe zuweisen
coo = G_ref_C;
ele = G_ref_E;
+nei = G_ref_N;
f2s = G_ref_f2s;
-%igitigit
+%Doppelte Koordinaten loeschen
[coo l pos] = unique(coo,'rows');
ele = pos(ele);
+ %Globale Variablen freigeben
clear G_ref_E G_ref_C G_ref_N G_ref_f2s G_ref_t
end
function refine(ele)
% global G_ref_E;
% global G_ref_C;
-% global G_ref_N;
+global G_ref_N;
% global G_ref_f2s;
global G_ref_t;
return;
end
-% Ueberpruefe Nachbarn
-
+% Ueberpruefe Nachbarn auf Nodes
+N = G_ref_N(ele,G_ref_N(ele,5:8)==0);
+N2 = N(N~=0);
+if(~isempty(N2))
+ N3=mod(find((G_ref_N(N2',:)==ele)')-1,4)+5; % ACHTUNG noch mal überprüfen
+ N4=N2(diag(G_ref_N(N2',N3'))~=0);
+
+ % wenn ungueltig verfeinere sie (link auf Soll verfeinert werden?)
+ if(~isempty(N4))
+ for i = 1:length(N4)
+% if(G_ref_t(N4(i))<=2)
+ G_ref_t(N4(i))=2; %WIRD GNADENLOS AUF 2 GESETZT
+ refine(N4(i));
+% else
+% mod(find(G_ref_N(N4(i),:)==ele)-1,2)
+% end
+ end
+ end
+end
-% wenn ungueltig verfeinere sie (link auf Soll verfeinert werden?)
-% G_ref_M(k) =
-% refine(k);
% verfeinere dieses element
refineE(ele);
G_ref_E(c_ele+2,:) = [c_coo+1,el(2),c_coo+2,c_coo+5];
G_ref_E(c_ele+3,:) = [el(1),c_coo+1,c_coo+5,c_coo+4];
- G_ref_f2s(ele,2:4)=c_ele+1:c_ele+3;
+ G_ref_f2s(ele,1:3)=c_ele+3:-1:c_ele+1;
elseif(G_ref_t(ele)==3)
G_ref_C(c_coo+1,:) = (G_ref_C(el(1),:)+G_ref_C(el(4),:))/2;
G_ref_C(c_coo+2,:) = (G_ref_C(el(2),:)+G_ref_C(el(3),:))/2;
G_ref_E(ele,2) = c_coo+2;
G_ref_E(c_ele+1,:) = [el(1),el(2),c_coo+2,c_coo+1];
- G_ref_f2s(ele,[3 4])=c_ele+1;
+ G_ref_f2s(ele,[1 2])=c_ele+1;
elseif(G_ref_t(ele)==4)
G_ref_C(c_coo+1,:) = (G_ref_C(el(1),:)+G_ref_C(el(2),:))/2;
G_ref_C(c_coo+2,:) = (G_ref_C(el(4),:)+G_ref_C(el(3),:))/2;
G_ref_E(ele,3) = c_coo+2;
G_ref_E(c_ele+1,:) = [c_coo+1,el(2),el(3),c_coo+2];
- G_ref_f2s(ele,[2 4])=c_ele+1;
+ G_ref_f2s(ele,[2 3])=c_ele+1;
end
G_ref_t(ele) = 1;
function updateN(ele)
% Nachbarschaften werden neu gesetzt (nach N und f2s)
-% global G_ref_E;
+global G_ref_E;
% global G_ref_C;
-% global G_ref_N;
-% global G_ref_f2s;
+global G_ref_N;
+global G_ref_f2s;
+
+
+%Innere Beziehungen setzen
+% ...
+
+this = G_ref_N(ele,:);
+split = G_ref_f2s(ele,:);
+S = find(mod((this(1:4)~=0).*(this(5:8)==0),2))' %An welchen Kanten habe ich Nachbarn
+D = find(this(5:8)~=0)'
+MS = mod(find((G_ref_N(this(S),:)==ele)')-1,4)+1 %An welchen Kanten bin ich Nachbar
+MD = mod(find((G_ref_N(this([D D+4]),:)==ele)')-1,4)+1
+
+G_ref_N(split,1:8) = 0;
+
+if(split(1)==split(2))
+ G_ref_N(split([1 3])',1:4) = [ 0 0 split(3) 0;split(1) 0 0 0];
+ % Beziehungen fuer Kanten mit einem Nachbar
+ for i = 1:length(S)
+ if(mod(S(i),2)==0)
+ G_ref_N(this(S(i)),[MS(i) MS(i)+4]) = [split(S(i)) split(mod(S(i),4)+1)];
+ G_ref_N([split(S(i)) split(mod(S(i),4)+1)]',S(i))=this(S(i));
+ else
+ G_ref_N(this(S(i)),MS(i)) = split(S(i));
+ G_ref_N(split(S(i)),S(i)) = this(S(i));
+ end
+ end
+
+ % Beziehungen fuer Kanten mit zwei Nachbarn
+ for i = 1:length(D)
+ if(mod(S(i),2)==0)
+ if(length(unique([G_ref_E(this(D(i)),:) G_ref_E(split(D(i)),:)]))==7)
+ G_ref_N(this(D(i)),MD(1,i)) = split(D(i));
+ G_ref_N(this(D(i)+4),MD(2,i)) = split(mod(D(i),4)+1);
+ G_ref_N(split(D(i)),D(i)) = this(D(i));
+ G_ref_N(split(mod(D(i),4)+1),D(i)) = this(D(i)+4);
+ else
+ G_ref_N(this(D(i)),MD(1,i)) = split(mod(D(i),4)+1);
+ G_ref_N(this(D(i)+4),MD(2,i)) = split(D(i));
+ G_ref_N(split(D(i)),D(i)) = this(D(i)+4);
+ G_ref_N(split(mod(D(i),4)+1),D(i)) = this(D(i));
+ end
+ else
+ G_ref_N(this(D(i)),MD(1,i)) = split(D(i));
+ G_ref_N(this(D(i)+4),MD(2,i)) = split(D(i));
+ G_ref_N(split(D(i)),[D(i) D(i)+4]) = [this(D(i)) this(D(i)+4)];
+ end
+ end
+
+elseif(split(1)==split(4))
+ G_ref_N(split([1 2])',1:4) = [ 0 split(2) 0 0;0 0 0 split(1)];
+ % Beziehungen fuer Kanten mit einem Nachbar
+ for i = 1:length(S)
+ if(mod(S(i),2)==1)
+ G_ref_N(this(S(i)),[MS(i) MS(i)+4]) = [split(S(i)) split(mod(S(i),4)+1)];
+ G_ref_N([split(S(i)) split(mod(S(i),4)+1)]',S(i))=this(S(i));
+ else
+ G_ref_N(this(S(i)),MS(i)) = split(S(i));
+ G_ref_N(split(S(i)),S(i)) = this(S(i));
+ end
+ end
+
+ % Beziehungen fuer Kanten mit zwei Nachbarn
+ for i = 1:length(D)
+ if(mod(S(i),2)==1)
+ if(length(unique([G_ref_E(this(D(i)),:) G_ref_E(split(D(i)),:)]))==7)
+ G_ref_N(this(D(i)),MD(1,i)) = split(D(i));
+ G_ref_N(this(D(i)+4),MD(2,i)) = split(mod(D(i),4)+1);
+ G_ref_N(split(D(i)),D(i)) = this(D(i));
+ G_ref_N(split(mod(D(i),4)+1),D(i)) = this(D(i)+4);
+ else
+ G_ref_N(this(D(i)),MD(1,i)) = split(mod(D(i),4)+1);
+ G_ref_N(this(D(i)+4),MD(2,i)) = split(D(i));
+ G_ref_N(split(D(i)),D(i)) = this(D(i)+4);
+ G_ref_N(split(mod(D(i),4)+1),D(i)) = this(D(i));
+ end
+ else
+ G_ref_N(this(D(i)),MD(1,i)) = split(D(i));
+ G_ref_N(this(D(i)+4),MD(2,i)) = split(D(i));
+ G_ref_N(split(D(i)),[D(i) D(i)+4]) = [this(D(i)) this(D(i)+4)];
+ end
+ end
+
+else
+ G_ref_N(split',1:4) = [0 split(2) split(4) 0; 0 0 split(3) split(1);...
+ split(2) 0 0 split(4); split(1) split(3) 0 0];
+
+ % Beziehungen fuer Kanten mit einem Nachbar
+ for i = 1:length(S)
+ G_ref_N(this(S(i)),[MS(i) MS(i)+4]) = [split(S(i)) split(mod(S(i),4)+1)];
+ G_ref_N([split(S(i)) split(mod(S(i),4)+1)]',S(i))=this(S(i));
+ end
+
+ % Beziehungen fuer Kanten mit zwei Nachbarn
+ for i = 1:length(D)
+ if(length(unique([G_ref_E(this(D(i)),:) G_ref_E(split(D(i)),:)]))==7)
+ G_ref_N(this(D(i)),MD(1,i)) = split(D(i));
+ G_ref_N(this(D(i)+4),MD(2,i)) = split(mod(D(i),4)+1);
+ G_ref_N(split(D(i)),D(i)) = this(D(i));
+ G_ref_N(split(mod(D(i),4)+1),D(i)) = this(D(i)+4);
+ else
+ G_ref_N(this(D(i)),MD(1,i)) = split(mod(D(i),4)+1);
+ G_ref_N(this(D(i)+4),MD(2,i)) = split(D(i));
+ G_ref_N(split(D(i)),D(i)) = this(D(i)+4);
+ G_ref_N(split(mod(D(i),4)+1),D(i)) = this(D(i));
+ end
+ end
+
+end
+
+
+
+
end
elements(i,3) = c_coo+2;
elements(c_ele+1,:) = [c_coo+1,el(2),el(3),c_coo+2];
- fa2so(i,[2 4])=c_ele+1;
+ fa2so(i,[2 3])=c_ele+1;
end
end