Files
pylib/docs/build/html/_static/class_diagram.svg
2026-01-22 18:50:07 +01:00

267 lines
82 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="960px" preserveAspectRatio="none" style="width:2129px;height:960px;" version="1.1" viewBox="0 0 2129 960" width="2129px" zoomAndPan="magnify"><defs><filter height="300%" id="f1nmm3v5e0v0da" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--MD5=[f7217341b3bb6bbf768c7f0e049f8d09]
cluster Legend--><polygon fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" points="392.5,24,448.5,24,455.5,46.2969,542.5,46.2969,542.5,187,392.5,187,392.5,24" style="stroke: #8787D7; stroke-width: 1.5;"/><line style="stroke: #8787D7; stroke-width: 1.5;" x1="392.5" x2="455.5" y1="46.2969" y2="46.2969"/><text fill="#E0E0E0" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="50" x="396.5" y="38.9951">Legend</text><!--MD5=[4c995967e3c792f8c0ac31bc226337bc]
class Legend.CLASS--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="112.0234" id="Legend.CLASS" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="117" x="409" y="59"/><ellipse cx="446.95" cy="75" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M450.4656,79.0313 L450.4656,81.0625 Q448.9813,81.6719 447.1531,81.6719 Q444.4344,81.6719 442.9813,79.9297 Q441.5281,78.1875 441.5281,75.0781 Q441.5281,72.0781 443.1063,70.2891 Q444.6844,68.5 447.4031,68.5 Q449.3094,68.5 451.0438,69.4219 L450.0906,71.3281 Q448.5906,70.5469 447.4031,70.5469 Q445.7938,70.5469 444.8172,71.7578 Q443.8406,72.9688 443.8406,75.0938 Q443.8406,77.3438 444.7547,78.4844 Q445.6688,79.625 447.4031,79.625 Q448.4344,79.625 450.4656,79.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="34" x="466.05" y="79.1543">CLASS</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="410" x2="525" y1="91" y2="91"/><ellipse cx="420" cy="102" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="78" x="429" y="105.2104">explicit attribute</text><polygon fill="none" points="420,109.8047,424,113.8047,420,117.8047,416,113.8047" style="stroke: #A17D59; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="81" x="429" y="118.0151">derived attribute</text><rect fill="none" height="6" style="stroke: #DF005F; stroke-width: 1.0;" width="6" x="417" y="124.6094"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="429" y="130.8198">additional attribute</text><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="71" x="429" y="143.6245">static attribute</text><path d="M435.0417,148.9401 C433.7767,148.9401 432.75,149.9668 432.75,151.2318 C432.75,151.5251 432.8215,151.8056 432.9223,152.0623 L430.2585,154.6977 C429.901,155.0552 429.901,155.629 430.2585,155.9865 C430.4418,156.1699 430.6793,156.2734 430.9176,156.2734 C431.1559,156.2734 431.3933,156.19 431.5767,156.0159 L434.2121,153.3804 C434.4688,153.4721 434.7493,153.5234 435.0426,153.5234 C436.3076,153.5234 437.3343,152.4968 437.3343,151.2318 C437.3343,151.0851 437.3049,150.9595 437.2765,150.8303 L436.4167,151.6901 L434.5833,151.6901 L434.5833,149.8568 L435.4432,148.9969 C435.3148,148.9694 435.1893,148.9401 435.0417,148.9392 M430.9167,154.8975 C431.1733,154.8975 431.375,155.0992 431.375,155.3559 C431.375,155.6125 431.1733,155.8142 430.9167,155.8142 C430.66,155.8142 430.4583,155.6125 430.4583,155.3559 C430.4583,155.0992 430.66,154.8975 430.9167,154.8975 " fill="#D75FD7" style="stroke: ; stroke-width: 0.0; stroke-dasharray: ;"/><text fill="#D75FD7" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="31" x="441.3333" y="156.4292">TODO</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="410" x2="525" y1="163.0234" y2="163.0234"/><!--MD5=[8a48aee71fd86110b053f925ab648e73]
class FooL--><!--MD5=[68b8f334126fd02c1d1ee137ce7af1d0]
class REPRESENTATION_ITEM--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="73.6094" id="REPRESENTATION_ITEM" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="163" x="1097" y="78"/><ellipse cx="1112" cy="94" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M1115.5156,98.0313 L1115.5156,100.0625 Q1114.0313,100.6719 1112.2031,100.6719 Q1109.4844,100.6719 1108.0313,98.9297 Q1106.5781,97.1875 1106.5781,94.0781 Q1106.5781,91.0781 1108.1563,89.2891 Q1109.7344,87.5 1112.4531,87.5 Q1114.3594,87.5 1116.0938,88.4219 L1115.1406,90.3281 Q1113.6406,89.5469 1112.4531,89.5469 Q1110.8438,89.5469 1109.8672,90.7578 Q1108.8906,91.9688 1108.8906,94.0938 Q1108.8906,96.3438 1109.8047,97.4844 Q1110.7188,98.625 1112.4531,98.625 Q1113.4844,98.625 1115.5156,98.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="131" x="1126" y="98.1543">REPRESENTATION_ITEM</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1098" x2="1259" y1="110" y2="110"/><ellipse cx="1108" cy="121" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="50" x="1117" y="124.2104">name : str</text><rect fill="none" height="6" style="stroke: #DF005F; stroke-width: 1.0;" width="6" x="1105" y="130.8047"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="98" x="1117" y="137.0151">idn : int «generated»</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1098" x2="1259" y1="143.6094" y2="143.6094"/><!--MD5=[67b173f25c0b8d2aac5da14ec695bce9]
class B_SPLINE_CURVE_FORM--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="124.8281" id="B_SPLINE_CURVE_FORM" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="161" x="696" y="657.5"/><ellipse cx="711" cy="673.5" fill="#008787" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M714.4844,680 L706.7969,680 L706.7969,667.1719 L714.4844,667.1719 L714.4844,669.2188 L709.0313,669.2188 L709.0313,672.2969 L714.1563,672.2969 L714.1563,674.3281 L709.0313,674.3281 L709.0313,677.9531 L714.4844,677.9531 L714.4844,680 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="129" x="725" y="677.6543">B_SPLINE_CURVE_FORM</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="697" x2="856" y1="689.5" y2="689.5"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="702" y="703.7104">POLYLINE_FORM</text><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="77" x="702" y="716.5151">CIRCULAR_ARC</text><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="66" x="702" y="729.3198">ELLIPTIC_ARC</text><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="84" x="702" y="742.1245">PARABOLIC_ARC</text><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="702" y="754.9292">HYPERBOLIC_ARC</text><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="66" x="702" y="767.7339">UNSPECIFIED</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="697" x2="856" y1="774.3281" y2="774.3281"/><!--MD5=[9106d0a40d1b9d1a32d90b4920506bba]
class KNOT_TYPE--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="99.2188" id="KNOT_TYPE" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="145" x="676" y="850"/><ellipse cx="713.05" cy="866" fill="#008787" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M716.5344,872.5 L708.8469,872.5 L708.8469,859.6719 L716.5344,859.6719 L716.5344,861.7188 L711.0813,861.7188 L711.0813,864.7969 L716.2063,864.7969 L716.2063,866.8281 L711.0813,866.8281 L711.0813,870.4531 L716.5344,870.4531 L716.5344,872.5 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="64" x="731.95" y="870.1543">KNOT_TYPE</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="677" x2="820" y1="882" y2="882"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="90" x="682" y="896.2104">UNIFORM_KNOTS</text><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="128" x="682" y="909.0151">QUASI_UNIFORM_KNOTS</text><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="133" x="682" y="921.8198">PIECEWISE_BEZIER_KNOTS</text><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="66" x="682" y="934.6245">UNSPECIFIED</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="677" x2="820" y1="941.2188" y2="941.2188"/><!--MD5=[e51859cf9fa832bf95436dc0128d3e84]
class GEOMETRIC_REPRESENTATION_ITEM--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="60.8047" id="GEOMETRIC_REPRESENTATION_ITEM" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="233" x="663" y="234"/><ellipse cx="678" cy="250" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M681.5156,254.0313 L681.5156,256.0625 Q680.0313,256.6719 678.2031,256.6719 Q675.4844,256.6719 674.0313,254.9297 Q672.5781,253.1875 672.5781,250.0781 Q672.5781,247.0781 674.1563,245.2891 Q675.7344,243.5 678.4531,243.5 Q680.3594,243.5 682.0938,244.4219 L681.1406,246.3281 Q679.6406,245.5469 678.4531,245.5469 Q676.8438,245.5469 675.8672,246.7578 Q674.8906,247.9688 674.8906,250.0938 Q674.8906,252.3438 675.8047,253.4844 Q676.7188,254.625 678.4531,254.625 Q679.4844,254.625 681.5156,254.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="201" x="692" y="254.1543">GEOMETRIC_REPRESENTATION_ITEM</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="664" x2="895" y1="266" y2="266"/><polygon fill="none" points="674,272,678,276,674,280,670,276" style="stroke: #A17D59; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="39" x="683" y="280.2104">dim : int</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="664" x2="895" y1="286.8047" y2="286.8047"/><!--MD5=[f8c129f8ade7d5d30c5a1ecce069a682]
class CARTESIAN_POINT--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="60.8047" id="CARTESIAN_POINT" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="143" x="227" y="510"/><ellipse cx="246.05" cy="526" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M249.5656,530.0313 L249.5656,532.0625 Q248.0813,532.6719 246.2531,532.6719 Q243.5344,532.6719 242.0813,530.9297 Q240.6281,529.1875 240.6281,526.0781 Q240.6281,523.0781 242.2063,521.2891 Q243.7844,519.5 246.5031,519.5 Q248.4094,519.5 250.1438,520.4219 L249.1906,522.3281 Q247.6906,521.5469 246.5031,521.5469 Q244.8938,521.5469 243.9172,522.7578 Q242.9406,523.9688 242.9406,526.0938 Q242.9406,528.3438 243.8547,529.4844 Q244.7688,530.625 246.5031,530.625 Q247.5344,530.625 249.5656,530.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="260.95" y="530.1543">CARTESIAN_POINT</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="228" x2="369" y1="542" y2="542"/><ellipse cx="238" cy="553" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="117" x="247" y="556.2104">coordinates : tuple[float]</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="228" x2="369" y1="562.8047" y2="562.8047"/><!--MD5=[77911843fc71ee9acc5f6e0f29b5f4f0]
class VERTEX_POINT--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="60.8047" id="VERTEX_POINT" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="151" x="605" y="510"/><ellipse cx="637.1" cy="526" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M640.6156,530.0313 L640.6156,532.0625 Q639.1313,532.6719 637.3031,532.6719 Q634.5844,532.6719 633.1313,530.9297 Q631.6781,529.1875 631.6781,526.0781 Q631.6781,523.0781 633.2563,521.2891 Q634.8344,519.5 637.5531,519.5 Q639.4594,519.5 641.1938,520.4219 L640.2406,522.3281 Q638.7406,521.5469 637.5531,521.5469 Q635.9438,521.5469 634.9672,522.7578 Q633.9906,523.9688 633.9906,526.0938 Q633.9906,528.3438 634.9047,529.4844 Q635.8188,530.625 637.5531,530.625 Q638.5844,530.625 640.6156,530.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="81" x="654.9" y="530.1543">VERTEX_POINT</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="606" x2="755" y1="542" y2="542"/><ellipse cx="616" cy="553" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="625" y="556.2104">vertex_geometry : POINT</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="606" x2="755" y1="562.8047" y2="562.8047"/><!--MD5=[74da1f1ba56031a25e87d62e77ed4c59]
class DIRECTION--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="60.8047" id="DIRECTION" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="160" x="184.5" y="362.5"/><ellipse cx="229.75" cy="378.5" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M233.2656,382.5313 L233.2656,384.5625 Q231.7813,385.1719 229.9531,385.1719 Q227.2344,385.1719 225.7813,383.4297 Q224.3281,381.6875 224.3281,378.5781 Q224.3281,375.5781 225.9063,373.7891 Q227.4844,372 230.2031,372 Q232.1094,372 233.8438,372.9219 L232.8906,374.8281 Q231.3906,374.0469 230.2031,374.0469 Q228.5938,374.0469 227.6172,375.2578 Q226.6406,376.4688 226.6406,378.5938 Q226.6406,380.8438 227.5547,381.9844 Q228.4688,383.125 230.2031,383.125 Q231.2344,383.125 233.2656,382.5313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="61" x="250.25" y="382.6543">DIRECTION</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="185.5" x2="343.5" y1="394.5" y2="394.5"/><ellipse cx="195.5" cy="405.5" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="134" x="204.5" y="408.7104">direction_ratios : tuple[float]</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="185.5" x2="343.5" y1="415.3047" y2="415.3047"/><!--MD5=[98cc8cb12ab4e7573c677fa20f8da066]
class VECTOR--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="73.6094" id="VECTOR" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="143" x="860" y="356"/><ellipse cx="905.75" cy="372" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M909.2656,376.0313 L909.2656,378.0625 Q907.7813,378.6719 905.9531,378.6719 Q903.2344,378.6719 901.7813,376.9297 Q900.3281,375.1875 900.3281,372.0781 Q900.3281,369.0781 901.9063,367.2891 Q903.4844,365.5 906.2031,365.5 Q908.1094,365.5 909.8438,366.4219 L908.8906,368.3281 Q907.3906,367.5469 906.2031,367.5469 Q904.5938,367.5469 903.6172,368.7578 Q902.6406,369.9688 902.6406,372.0938 Q902.6406,374.3438 903.5547,375.4844 Q904.4688,376.625 906.2031,376.625 Q907.2344,376.625 909.2656,376.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="43" x="926.25" y="376.1543">VECTOR</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="861" x2="1002" y1="388" y2="388"/><ellipse cx="871" cy="399" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="117" x="880" y="402.2104">orientation : DIRECTION</text><ellipse cx="871" cy="411.8047" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="83" x="880" y="415.0151">magnitude : float</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="861" x2="1002" y1="421.6094" y2="421.6094"/><!--MD5=[5fb69c2bbdb865900a08d9bf569f31be]
class EDGE--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="73.6094" id="EDGE" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="124" x="1534.5" y="356"/><ellipse cx="1578.3" cy="372" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M1581.8156,376.0313 L1581.8156,378.0625 Q1580.3313,378.6719 1578.5031,378.6719 Q1575.7844,378.6719 1574.3313,376.9297 Q1572.8781,375.1875 1572.8781,372.0781 Q1572.8781,369.0781 1574.4563,367.2891 Q1576.0344,365.5 1578.7531,365.5 Q1580.6594,365.5 1582.3938,366.4219 L1581.4406,368.3281 Q1579.9406,367.5469 1578.7531,367.5469 Q1577.1438,367.5469 1576.1672,368.7578 Q1575.1906,369.9688 1575.1906,372.0938 Q1575.1906,374.3438 1576.1047,375.4844 Q1577.0188,376.625 1578.7531,376.625 Q1579.7844,376.625 1581.8156,376.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="1598.7" y="376.1543">EDGE</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1535.5" x2="1657.5" y1="388" y2="388"/><ellipse cx="1545.5" cy="399" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="98" x="1554.5" y="402.2104">edge_start : VERTEX</text><ellipse cx="1545.5" cy="411.8047" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="93" x="1554.5" y="415.0151">edge_end : VERTEX</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1535.5" x2="1657.5" y1="421.6094" y2="421.6094"/><!--MD5=[5d3cd2ef4ad6de09d9fcc75dfe080639]
class LINE--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="73.6094" id="LINE" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="143" x="1017" y="503.5"/><ellipse cx="1071.75" cy="519.5" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M1075.2656,523.5313 L1075.2656,525.5625 Q1073.7813,526.1719 1071.9531,526.1719 Q1069.2344,526.1719 1067.7813,524.4297 Q1066.3281,522.6875 1066.3281,519.5781 Q1066.3281,516.5781 1067.9063,514.7891 Q1069.4844,513 1072.2031,513 Q1074.1094,513 1075.8438,513.9219 L1074.8906,515.8281 Q1073.3906,515.0469 1072.2031,515.0469 Q1070.5938,515.0469 1069.6172,516.2578 Q1068.6406,517.4688 1068.6406,519.5938 Q1068.6406,521.8438 1069.5547,522.9844 Q1070.4688,524.125 1072.2031,524.125 Q1073.2344,524.125 1075.2656,523.5313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="25" x="1092.25" y="523.6543">LINE</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1018" x2="1159" y1="535.5" y2="535.5"/><ellipse cx="1028" cy="546.5" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="117" x="1037" y="549.7104">pnt : CARTESIAN_POINT</text><ellipse cx="1028" cy="559.3047" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="62" x="1037" y="562.5151">dir : VECTOR</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1018" x2="1159" y1="569.1094" y2="569.1094"/><!--MD5=[35bfe60b21a96263d32763bd70e1da02]
class SURFACE_CURVE--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="99.2188" id="SURFACE_CURVE" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="293.3333" x="1195" y="491"/><ellipse cx="1293.4167" cy="507" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M1296.9323,511.0313 L1296.9323,513.0625 Q1295.4479,513.6719 1293.6198,513.6719 Q1290.901,513.6719 1289.4479,511.9297 Q1287.9948,510.1875 1287.9948,507.0781 Q1287.9948,504.0781 1289.5729,502.2891 Q1291.151,500.5 1293.8698,500.5 Q1295.776,500.5 1297.5104,501.4219 L1296.5573,503.3281 Q1295.0573,502.5469 1293.8698,502.5469 Q1292.2604,502.5469 1291.2839,503.7578 Q1290.3073,504.9688 1290.3073,507.0938 Q1290.3073,509.3438 1291.2214,510.4844 Q1292.1354,511.625 1293.8698,511.625 Q1294.901,511.625 1296.9323,511.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="88" x="1313.9167" y="511.1543">SURFACE_CURVE</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1196" x2="1487.3333" y1="523" y2="523"/><ellipse cx="1206" cy="534" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="88" x="1215" y="537.2104">curve_3d : CURVE</text><ellipse cx="1206" cy="546.8047" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="126" x="1215" y="550.0151">associated_geometry : str</text><path d="M1353.0417,542.526 C1351.7767,542.526 1350.75,543.5527 1350.75,544.8177 C1350.75,545.111 1350.8215,545.3915 1350.9223,545.6482 L1348.2585,548.2836 C1347.901,548.6411 1347.901,549.215 1348.2585,549.5725 C1348.4418,549.7558 1348.6793,549.8594 1348.9176,549.8594 C1349.1559,549.8594 1349.3933,549.776 1349.5767,549.6018 L1352.2121,546.9664 C1352.4688,547.058 1352.7493,547.1094 1353.0426,547.1094 C1354.3076,547.1094 1355.3343,546.0827 1355.3343,544.8177 C1355.3343,544.671 1355.3049,544.5455 1355.2765,544.4162 L1354.4167,545.276 L1352.5833,545.276 L1352.5833,543.4427 L1353.4432,542.5829 C1353.3148,542.5554 1353.1893,542.526 1353.0417,542.5251 M1348.9167,548.4835 C1349.1733,548.4835 1349.375,548.6851 1349.375,548.9418 C1349.375,549.1985 1349.1733,549.4001 1348.9167,549.4001 C1348.66,549.4001 1348.4583,549.1985 1348.4583,548.9418 C1348.4583,548.6851 1348.66,548.4835 1348.9167,548.4835 " fill="#D75FD7" style="stroke: ; stroke-width: 0.0; stroke-dasharray: ;"/><text fill="#D75FD7" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="123" x="1359.3333" y="550.0151">tuple[PCURVE, SURFACE]</text><ellipse cx="1206" cy="559.6094" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="133" x="1215" y="562.8198">master_representation : str</text><path d="M1360.0417,555.3307 C1358.7767,555.3307 1357.75,556.3574 1357.75,557.6224 C1357.75,557.9157 1357.8215,558.1962 1357.9223,558.4529 L1355.2585,561.0883 C1354.901,561.4458 1354.901,562.0196 1355.2585,562.3771 C1355.4418,562.5605 1355.6793,562.6641 1355.9176,562.6641 C1356.1559,562.6641 1356.3933,562.5806 1356.5767,562.4065 L1359.2121,559.7711 C1359.4688,559.8627 1359.7493,559.9141 1360.0426,559.9141 C1361.3076,559.9141 1362.3343,558.8874 1362.3343,557.6224 C1362.3343,557.4757 1362.3049,557.3501 1362.2765,557.2209 L1361.4167,558.0807 L1359.5833,558.0807 L1359.5833,556.2474 L1360.4432,555.3876 C1360.3148,555.3601 1360.1893,555.3307 1360.0417,555.3298 M1355.9167,561.2881 C1356.1733,561.2881 1356.375,561.4898 1356.375,561.7465 C1356.375,562.0031 1356.1733,562.2048 1355.9167,562.2048 C1355.66,562.2048 1355.4583,562.0031 1355.4583,561.7465 C1355.4583,561.4898 1355.66,561.2881 1355.9167,561.2881 " fill="#D75FD7" style="stroke: ; stroke-width: 0.0; stroke-dasharray: ;"/><polygon fill="none" points="1206,567.4141,1210,571.4141,1206,575.4141,1202,571.4141" style="stroke: #A17D59; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="100" x="1215" y="575.6245">basis_surface : None</text><path d="M1327.0417,568.1354 C1325.7767,568.1354 1324.75,569.1621 1324.75,570.4271 C1324.75,570.7204 1324.8215,571.0009 1324.9223,571.2576 L1322.2585,573.893 C1321.901,574.2505 1321.901,574.8243 1322.2585,575.1818 C1322.4418,575.3652 1322.6793,575.4688 1322.9176,575.4688 C1323.1559,575.4688 1323.3933,575.3853 1323.5767,575.2112 L1326.2121,572.5758 C1326.4688,572.6674 1326.7493,572.7188 1327.0426,572.7188 C1328.3076,572.7188 1329.3343,571.6921 1329.3343,570.4271 C1329.3343,570.2804 1329.3049,570.1548 1329.2765,570.0256 L1328.4167,570.8854 L1326.5833,570.8854 L1326.5833,569.0521 L1327.4432,568.1923 C1327.3148,568.1647 1327.1893,568.1354 1327.0417,568.1345 M1322.9167,574.0928 C1323.1733,574.0928 1323.375,574.2945 1323.375,574.5512 C1323.375,574.8078 1323.1733,575.0095 1322.9167,575.0095 C1322.66,575.0095 1322.4583,574.8078 1322.4583,574.5512 C1322.4583,574.2945 1322.66,574.0928 1322.9167,574.0928 " fill="#D75FD7" style="stroke: ; stroke-width: 0.0; stroke-dasharray: ;"/><text fill="#D75FD7" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="76" x="1333.3333" y="575.6245">tuple[SURFACE]</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1196" x2="1487.3333" y1="582.2188" y2="582.2188"/><!--MD5=[e223869feb7cc9bcd3a705f0715d0b49]
class EDGE_CURVE--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="73.6094" id="EDGE_CURVE" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="147" x="1523" y="503.5"/><ellipse cx="1559.15" cy="519.5" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M1562.6656,523.5313 L1562.6656,525.5625 Q1561.1813,526.1719 1559.3531,526.1719 Q1556.6344,526.1719 1555.1813,524.4297 Q1553.7281,522.6875 1553.7281,519.5781 Q1553.7281,516.5781 1555.3063,514.7891 Q1556.8844,513 1559.6031,513 Q1561.5094,513 1563.2438,513.9219 L1562.2906,515.8281 Q1560.7906,515.0469 1559.6031,515.0469 Q1557.9938,515.0469 1557.0172,516.2578 Q1556.0406,517.4688 1556.0406,519.5938 Q1556.0406,521.8438 1556.9547,522.9844 Q1557.8688,524.125 1559.6031,524.125 Q1560.6344,524.125 1562.6656,523.5313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="68" x="1577.85" y="523.6543">EDGE_CURVE</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1524" x2="1669" y1="535.5" y2="535.5"/><ellipse cx="1534" cy="546.5" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="121" x="1543" y="549.7104">edge_geometry : CURVE</text><ellipse cx="1534" cy="559.3047" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="1543" y="562.5151">same_sense : str</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1524" x2="1669" y1="569.1094" y2="569.1094"/><!--MD5=[d3ce5b05527f0a5a5edc1fc1dd75cc7a]
class PLACEMENT--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="60.8047" id="PLACEMENT" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="164" x="405.5" y="510"/><ellipse cx="450.25" cy="526" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M453.7656,530.0313 L453.7656,532.0625 Q452.2813,532.6719 450.4531,532.6719 Q447.7344,532.6719 446.2813,530.9297 Q444.8281,529.1875 444.8281,526.0781 Q444.8281,523.0781 446.4063,521.2891 Q447.9844,519.5 450.7031,519.5 Q452.6094,519.5 454.3438,520.4219 L453.3906,522.3281 Q451.8906,521.5469 450.7031,521.5469 Q449.0938,521.5469 448.1172,522.7578 Q447.1406,523.9688 447.1406,526.0938 Q447.1406,528.3438 448.0547,529.4844 Q448.9688,530.625 450.7031,530.625 Q451.7344,530.625 453.7656,530.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="470.75" y="530.1543">PLACEMENT</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="406.5" x2="568.5" y1="542" y2="542"/><ellipse cx="416.5" cy="553" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="425.5" y="556.2104">location : CARTESIAN_POINT</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="406.5" x2="568.5" y1="562.8047" y2="562.8047"/><!--MD5=[97b75c648ef602b9a9b941866ff6ea23]
class AXIS2_PLACEMENT_2D--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="73.6094" id="AXIS2_PLACEMENT_2D" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="171.3333" x="212" y="683"/><ellipse cx="234.35" cy="699" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M237.8656,703.0313 L237.8656,705.0625 Q236.3813,705.6719 234.5531,705.6719 Q231.8344,705.6719 230.3813,703.9297 Q228.9281,702.1875 228.9281,699.0781 Q228.9281,696.0781 230.5063,694.2891 Q232.0844,692.5 234.8031,692.5 Q236.7094,692.5 238.4438,693.4219 L237.4906,695.3281 Q235.9906,694.5469 234.8031,694.5469 Q233.1938,694.5469 232.2172,695.7578 Q231.2406,696.9688 231.2406,699.0938 Q231.2406,701.3438 232.1547,702.4844 Q233.0688,703.625 234.8031,703.625 Q235.8344,703.625 237.8656,703.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="123" x="249.9833" y="703.1543">AXIS2_PLACEMENT_2D</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="213" x2="382.3333" y1="715" y2="715"/><ellipse cx="223" cy="726" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="232" y="729.2104">ref_direction : DIRECTION</text><polygon fill="none" points="223,733.8047,227,737.8047,223,741.8047,219,737.8047" style="stroke: #A17D59; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="41" x="232" y="742.0151">p : None</text><path d="M285.0417,734.526 C283.7767,734.526 282.75,735.5527 282.75,736.8177 C282.75,737.111 282.8215,737.3915 282.9223,737.6482 L280.2585,740.2836 C279.901,740.6411 279.901,741.215 280.2585,741.5725 C280.4418,741.7558 280.6793,741.8594 280.9176,741.8594 C281.1559,741.8594 281.3933,741.776 281.5767,741.6018 L284.2121,738.9664 C284.4688,739.058 284.7493,739.1094 285.0426,739.1094 C286.3076,739.1094 287.3343,738.0827 287.3343,736.8177 C287.3343,736.671 287.3049,736.5455 287.2765,736.4162 L286.4167,737.276 L284.5833,737.276 L284.5833,735.4427 L285.4432,734.5829 C285.3148,734.5554 285.1893,734.526 285.0417,734.5251 M280.9167,740.4835 C281.1733,740.4835 281.375,740.6851 281.375,740.9418 C281.375,741.1985 281.1733,741.4001 280.9167,741.4001 C280.66,741.4001 280.4583,741.1985 280.4583,740.9418 C280.4583,740.6851 280.66,740.4835 280.9167,740.4835 " fill="#D75FD7" style="stroke: ; stroke-width: 0.0; stroke-dasharray: ;"/><text fill="#D75FD7" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="86" x="291.3333" y="742.0151">tuple[DIRECTION]</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="213" x2="382.3333" y1="748.6094" y2="748.6094"/><!--MD5=[b849b5ceb6cd6c17d1f3ed9c6fde76b6]
class AXIS2_PLACEMENT_3D--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="86.4141" id="AXIS2_PLACEMENT_3D" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="171.3333" x="6" y="677"/><ellipse cx="28.35" cy="693" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M31.8656,697.0313 L31.8656,699.0625 Q30.3812,699.6719 28.5531,699.6719 Q25.8344,699.6719 24.3812,697.9297 Q22.9281,696.1875 22.9281,693.0781 Q22.9281,690.0781 24.5062,688.2891 Q26.0844,686.5 28.8031,686.5 Q30.7094,686.5 32.4437,687.4219 L31.4906,689.3281 Q29.9906,688.5469 28.8031,688.5469 Q27.1937,688.5469 26.2172,689.7578 Q25.2406,690.9688 25.2406,693.0938 Q25.2406,695.3438 26.1547,696.4844 Q27.0687,697.625 28.8031,697.625 Q29.8344,697.625 31.8656,697.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="123" x="43.9833" y="697.1543">AXIS2_PLACEMENT_3D</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="7" x2="176.3333" y1="709" y2="709"/><ellipse cx="17" cy="720" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="84" x="26" y="723.2104">axis : DIRECTION</text><ellipse cx="17" cy="732.8047" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="26" y="736.0151">ref_direction : DIRECTION</text><polygon fill="none" points="17,740.6094,21,744.6094,17,748.6094,13,744.6094" style="stroke: #A17D59; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="41" x="26" y="748.8198">p : None</text><path d="M79.0417,741.3307 C77.7767,741.3307 76.75,742.3574 76.75,743.6224 C76.75,743.9157 76.8215,744.1962 76.9223,744.4529 L74.2585,747.0883 C73.901,747.4458 73.901,748.0196 74.2585,748.3771 C74.4418,748.5605 74.6793,748.6641 74.9176,748.6641 C75.1559,748.6641 75.3933,748.5806 75.5767,748.4065 L78.2121,745.7711 C78.4688,745.8627 78.7493,745.9141 79.0426,745.9141 C80.3076,745.9141 81.3343,744.8874 81.3343,743.6224 C81.3343,743.4757 81.3049,743.3501 81.2765,743.2209 L80.4167,744.0807 L78.5833,744.0807 L78.5833,742.2474 L79.4432,741.3876 C79.3148,741.3601 79.1893,741.3307 79.0417,741.3298 M74.9167,747.2881 C75.1733,747.2881 75.375,747.4898 75.375,747.7465 C75.375,748.0031 75.1733,748.2048 74.9167,748.2048 C74.66,748.2048 74.4583,748.0031 74.4583,747.7465 C74.4583,747.4898 74.66,747.2881 74.9167,747.2881 " fill="#D75FD7" style="stroke: ; stroke-width: 0.0; stroke-dasharray: ;"/><text fill="#D75FD7" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="86" x="85.3333" y="748.8198">tuple[DIRECTION]</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="7" x2="176.3333" y1="755.4141" y2="755.4141"/><!--MD5=[5b194d3b3924d2e9968893981160e5e2]
class CONIC--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="60.8047" id="CONIC" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="330" x="892.5" y="689.5"/><ellipse cx="1035.25" cy="705.5" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M1038.7656,709.5313 L1038.7656,711.5625 Q1037.2813,712.1719 1035.4531,712.1719 Q1032.7344,712.1719 1031.2813,710.4297 Q1029.8281,708.6875 1029.8281,705.5781 Q1029.8281,702.5781 1031.4063,700.7891 Q1032.9844,699 1035.7031,699 Q1037.6094,699 1039.3438,699.9219 L1038.3906,701.8281 Q1036.8906,701.0469 1035.7031,701.0469 Q1034.0938,701.0469 1033.1172,702.2578 Q1032.1406,703.4688 1032.1406,705.5938 Q1032.1406,707.8438 1033.0547,708.9844 Q1033.9688,710.125 1035.7031,710.125 Q1036.7344,710.125 1038.7656,709.5313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="36" x="1055.75" y="709.6543">CONIC</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="893.5" x2="1221.5" y1="721.5" y2="721.5"/><ellipse cx="903.5" cy="732.5" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="304" x="912.5" y="735.7104">position : Union[AXIS2_PLACEMENT_2D, AXIS_PLACEMENT_3D]</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="893.5" x2="1221.5" y1="742.3047" y2="742.3047"/><!--MD5=[45a25d9d97042f34356ca7f1ccf69fd3]
class CIRCLE--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="60.8047" id="CIRCLE" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="86" x="1082.5" y="869"/><ellipse cx="1105.15" cy="885" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M1108.6656,889.0313 L1108.6656,891.0625 Q1107.1813,891.6719 1105.3531,891.6719 Q1102.6344,891.6719 1101.1813,889.9297 Q1099.7281,888.1875 1099.7281,885.0781 Q1099.7281,882.0781 1101.3063,880.2891 Q1102.8844,878.5 1105.6031,878.5 Q1107.5094,878.5 1109.2438,879.4219 L1108.2906,881.3281 Q1106.7906,880.5469 1105.6031,880.5469 Q1103.9938,880.5469 1103.0172,881.7578 Q1102.0406,882.9688 1102.0406,885.0938 Q1102.0406,887.3438 1102.9547,888.4844 Q1103.8688,889.625 1105.6031,889.625 Q1106.6344,889.625 1108.6656,889.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="37" x="1120.85" y="889.1543">CIRCLE</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1083.5" x2="1167.5" y1="901" y2="901"/><ellipse cx="1093.5" cy="912" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="60" x="1102.5" y="915.2104">radius : float</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1083.5" x2="1167.5" y1="921.8047" y2="921.8047"/><!--MD5=[95ce471f7c0a6e6b704246cb613afeab]
class ELLIPSE--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="73.6094" id="ELLIPSE" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="115" x="932" y="862.5"/><ellipse cx="965.45" cy="878.5" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M968.9656,882.5313 L968.9656,884.5625 Q967.4813,885.1719 965.6531,885.1719 Q962.9344,885.1719 961.4813,883.4297 Q960.0281,881.6875 960.0281,878.5781 Q960.0281,875.5781 961.6063,873.7891 Q963.1844,872 965.9031,872 Q967.8094,872 969.5438,872.9219 L968.5906,874.8281 Q967.0906,874.0469 965.9031,874.0469 Q964.2938,874.0469 963.3172,875.2578 Q962.3406,876.4688 962.3406,878.5938 Q962.3406,880.8438 963.2547,881.9844 Q964.1688,883.125 965.9031,883.125 Q966.9344,883.125 968.9656,882.5313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="42" x="983.55" y="882.6543">ELLIPSE</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="933" x2="1046" y1="894.5" y2="894.5"/><ellipse cx="943" cy="905.5" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="89" x="952" y="908.7104">semi_axis_1 : float</text><ellipse cx="943" cy="918.3047" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="89" x="952" y="921.5151">semi_axis_2 : float</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="933" x2="1046" y1="928.1094" y2="928.1094"/><!--MD5=[ba3ac9e9f2a4df2a1f43c606762671df]
class B_SPLINE_CURVE--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="137.6328" id="B_SPLINE_CURVE" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="242" x="418.5" y="651"/><ellipse cx="489.75" cy="667" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M493.2656,671.0313 L493.2656,673.0625 Q491.7813,673.6719 489.9531,673.6719 Q487.2344,673.6719 485.7813,671.9297 Q484.3281,670.1875 484.3281,667.0781 Q484.3281,664.0781 485.9063,662.2891 Q487.4844,660.5 490.2031,660.5 Q492.1094,660.5 493.8438,661.4219 L492.8906,663.3281 Q491.3906,662.5469 490.2031,662.5469 Q488.5938,662.5469 487.6172,663.7578 Q486.6406,664.9688 486.6406,667.0938 Q486.6406,669.3438 487.5547,670.4844 Q488.4688,671.625 490.2031,671.625 Q491.2344,671.625 493.2656,671.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="91" x="510.25" y="671.1543">B_SPLINE_CURVE</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="419.5" x2="659.5" y1="683" y2="683"/><ellipse cx="429.5" cy="694" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="55" x="438.5" y="697.2104">degree : int</text><ellipse cx="429.5" cy="706.8047" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="216" x="438.5" y="710.0151">control_points_list : tuple[CARTESIAN_POINT]</text><ellipse cx="429.5" cy="719.6094" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="78" x="438.5" y="722.8198">curve_form : str</text><path d="M528.5417,715.3307 C527.2767,715.3307 526.25,716.3574 526.25,717.6224 C526.25,717.9157 526.3215,718.1962 526.4223,718.4529 L523.7585,721.0883 C523.401,721.4458 523.401,722.0196 523.7585,722.3771 C523.9418,722.5605 524.1793,722.6641 524.4176,722.6641 C524.6559,722.6641 524.8933,722.5806 525.0767,722.4065 L527.7121,719.7711 C527.9688,719.8627 528.2493,719.9141 528.5426,719.9141 C529.8076,719.9141 530.8343,718.8874 530.8343,717.6224 C530.8343,717.4757 530.8049,717.3501 530.7765,717.2209 L529.9167,718.0807 L528.0833,718.0807 L528.0833,716.2474 L528.9432,715.3876 C528.8148,715.3601 528.6893,715.3307 528.5417,715.3298 M524.4167,721.2881 C524.6733,721.2881 524.875,721.4898 524.875,721.7465 C524.875,722.0031 524.6733,722.2048 524.4167,722.2048 C524.16,722.2048 523.9583,722.0031 523.9583,721.7465 C523.9583,721.4898 524.16,721.2881 524.4167,721.2881 " fill="#D75FD7" style="stroke: ; stroke-width: 0.0; stroke-dasharray: ;"/><text fill="#D75FD7" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="117" x="534.8333" y="722.8198">B_BLINE_CURVE_FORM</text><ellipse cx="429.5" cy="732.4141" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="84" x="438.5" y="735.6245">closed_curve : str</text><path d="M534.5417,728.1354 C533.2767,728.1354 532.25,729.1621 532.25,730.4271 C532.25,730.7204 532.3215,731.0009 532.4223,731.2576 L529.7585,733.893 C529.401,734.2505 529.401,734.8243 529.7585,735.1818 C529.9418,735.3652 530.1793,735.4688 530.4176,735.4688 C530.6559,735.4688 530.8933,735.3853 531.0767,735.2112 L533.7121,732.5758 C533.9688,732.6674 534.2493,732.7188 534.5426,732.7188 C535.8076,732.7188 536.8343,731.6921 536.8343,730.4271 C536.8343,730.2804 536.8049,730.1548 536.7765,730.0256 L535.9167,730.8854 L534.0833,730.8854 L534.0833,729.0521 L534.9432,728.1923 C534.8148,728.1647 534.6893,728.1354 534.5417,728.1345 M530.4167,734.0928 C530.6733,734.0928 530.875,734.2945 530.875,734.5512 C530.875,734.8078 530.6733,735.0095 530.4167,735.0095 C530.16,735.0095 529.9583,734.8078 529.9583,734.5512 C529.9583,734.2945 530.16,734.0928 530.4167,734.0928 " fill="#D75FD7" style="stroke: ; stroke-width: 0.0; stroke-dasharray: ;"/><text fill="#D75FD7" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="540.8333" y="735.6245">bool</text><ellipse cx="429.5" cy="745.2188" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="86" x="438.5" y="748.4292">self_intersect : str</text><path d="M536.5417,740.9401 C535.2767,740.9401 534.25,741.9668 534.25,743.2318 C534.25,743.5251 534.3215,743.8056 534.4223,744.0623 L531.7585,746.6977 C531.401,747.0552 531.401,747.629 531.7585,747.9865 C531.9418,748.1699 532.1793,748.2734 532.4176,748.2734 C532.6559,748.2734 532.8933,748.19 533.0767,748.0159 L535.7121,745.3804 C535.9688,745.4721 536.2493,745.5234 536.5426,745.5234 C537.8076,745.5234 538.8343,744.4968 538.8343,743.2318 C538.8343,743.0851 538.8049,742.9595 538.7765,742.8303 L537.9167,743.6901 L536.0833,743.6901 L536.0833,741.8568 L536.9432,740.9969 C536.8148,740.9694 536.6893,740.9401 536.5417,740.9392 M532.4167,746.8975 C532.6733,746.8975 532.875,747.0992 532.875,747.3559 C532.875,747.6125 532.6733,747.8142 532.4167,747.8142 C532.16,747.8142 531.9583,747.6125 531.9583,747.3559 C531.9583,747.0992 532.16,746.8975 532.4167,746.8975 " fill="#D75FD7" style="stroke: ; stroke-width: 0.0; stroke-dasharray: ;"/><text fill="#D75FD7" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="542.8333" y="748.4292">bool</text><polygon fill="none" points="429.5,753.0234,433.5,757.0234,429.5,761.0234,425.5,757.0234" style="stroke: #A17D59; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="169" x="438.5" y="761.2339">upper_index_on_control_points : int</text><polygon fill="none" points="429.5,765.8281,433.5,769.8281,429.5,773.8281,425.5,769.8281" style="stroke: #A17D59; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="198" x="438.5" y="774.0386">control_points : tuple[CARTESIAN_POINT]</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="419.5" x2="659.5" y1="780.6328" y2="780.6328"/><!--MD5=[617bce81b0a064ba64124603298546df]
class B_SPLINE_CURVE_WITH_KNOTS--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="99.2188" id="B_SPLINE_CURVE_WITH_KNOTS" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="202" x="438.5" y="850"/><ellipse cx="453.5" cy="866" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M457.0156,870.0313 L457.0156,872.0625 Q455.5313,872.6719 453.7031,872.6719 Q450.9844,872.6719 449.5313,870.9297 Q448.0781,869.1875 448.0781,866.0781 Q448.0781,863.0781 449.6563,861.2891 Q451.2344,859.5 453.9531,859.5 Q455.8594,859.5 457.5938,860.4219 L456.6406,862.3281 Q455.1406,861.5469 453.9531,861.5469 Q452.3438,861.5469 451.3672,862.7578 Q450.3906,863.9688 450.3906,866.0938 Q450.3906,868.3438 451.3047,869.4844 Q452.2188,870.625 453.9531,870.625 Q454.9844,870.625 457.0156,870.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="170" x="467.5" y="870.1543">B_SPLINE_CURVE_WITH_KNOTS</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="439.5" x2="639.5" y1="882" y2="882"/><ellipse cx="449.5" cy="893" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="458.5" y="896.2104">knot_multiplicities : tuple[int]</text><ellipse cx="449.5" cy="905.8047" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="458.5" y="909.0151">knots : tuple[float]</text><ellipse cx="449.5" cy="918.6094" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="458.5" y="921.8198">knot_spec : str</text><path d="M540.5417,914.3307 C539.2767,914.3307 538.25,915.3574 538.25,916.6224 C538.25,916.9157 538.3215,917.1962 538.4223,917.4529 L535.7585,920.0883 C535.401,920.4458 535.401,921.0196 535.7585,921.3771 C535.9418,921.5605 536.1793,921.6641 536.4176,921.6641 C536.6559,921.6641 536.8933,921.5806 537.0767,921.4065 L539.7121,918.7711 C539.9688,918.8627 540.2493,918.9141 540.5426,918.9141 C541.8076,918.9141 542.8343,917.8874 542.8343,916.6224 C542.8343,916.4757 542.8049,916.3501 542.7765,916.2209 L541.9167,917.0807 L540.0833,917.0807 L540.0833,915.2474 L540.9432,914.3876 C540.8148,914.3601 540.6893,914.3307 540.5417,914.3298 M536.4167,920.2881 C536.6733,920.2881 536.875,920.4898 536.875,920.7465 C536.875,921.0031 536.6733,921.2048 536.4167,921.2048 C536.16,921.2048 535.9583,921.0031 535.9583,920.7465 C535.9583,920.4898 536.16,920.2881 536.4167,920.2881 " fill="#D75FD7" style="stroke: ; stroke-width: 0.0; stroke-dasharray: ;"/><text fill="#D75FD7" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="58" x="546.8333" y="921.8198">KNOT_TYPE</text><polygon fill="none" points="449.5,926.4141,453.5,930.4141,449.5,934.4141,445.5,930.4141" style="stroke: #A17D59; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="128" x="458.5" y="934.6245">upper_index_on_knots : int</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="439.5" x2="639.5" y1="941.2188" y2="941.2188"/><!--MD5=[ae187daa35ebff446851e52d75969552]
class ORIENTED_EDGE--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="99.2188" id="ORIENTED_EDGE" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="132" x="1705.5" y="491"/><ellipse cx="1725.45" cy="507" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M1728.9656,511.0313 L1728.9656,513.0625 Q1727.4813,513.6719 1725.6531,513.6719 Q1722.9344,513.6719 1721.4813,511.9297 Q1720.0281,510.1875 1720.0281,507.0781 Q1720.0281,504.0781 1721.6063,502.2891 Q1723.1844,500.5 1725.9031,500.5 Q1727.8094,500.5 1729.5438,501.4219 L1728.5906,503.3281 Q1727.0906,502.5469 1725.9031,502.5469 Q1724.2938,502.5469 1723.3172,503.7578 Q1722.3406,504.9688 1722.3406,507.0938 Q1722.3406,509.3438 1723.2547,510.4844 Q1724.1688,511.625 1725.9031,511.625 Q1726.9344,511.625 1728.9656,511.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="89" x="1740.55" y="511.1543">ORIENTED_EDGE</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1706.5" x2="1836.5" y1="523" y2="523"/><ellipse cx="1716.5" cy="534" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="106" x="1725.5" y="537.2104">edge_element : EDGE</text><ellipse cx="1716.5" cy="546.8047" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="1725.5" y="550.0151">orientation : str</text><polygon fill="none" points="1716.5,554.6094,1720.5,558.6094,1716.5,562.6094,1712.5,558.6094" style="stroke: #A17D59; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="98" x="1725.5" y="562.8198">edge_start : VERTEX</text><polygon fill="none" points="1716.5,567.4141,1720.5,571.4141,1716.5,575.4141,1712.5,571.4141" style="stroke: #A17D59; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="93" x="1725.5" y="575.6245">edge_end : VERTEX</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1706.5" x2="1836.5" y1="582.2188" y2="582.2188"/><!--MD5=[6ce3c57331eb10740e06f192afc1c634]
class PATH--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="60.8047" id="PATH" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="192" x="1872.5" y="510"/><ellipse cx="1949.75" cy="526" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M1953.2656,530.0313 L1953.2656,532.0625 Q1951.7813,532.6719 1949.9531,532.6719 Q1947.2344,532.6719 1945.7813,530.9297 Q1944.3281,529.1875 1944.3281,526.0781 Q1944.3281,523.0781 1945.9063,521.2891 Q1947.4844,519.5 1950.2031,519.5 Q1952.1094,519.5 1953.8438,520.4219 L1952.8906,522.3281 Q1951.3906,521.5469 1950.2031,521.5469 Q1948.5938,521.5469 1947.6172,522.7578 Q1946.6406,523.9688 1946.6406,526.0938 Q1946.6406,528.3438 1947.5547,529.4844 Q1948.4688,530.625 1950.2031,530.625 Q1951.2344,530.625 1953.2656,530.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="29" x="1970.25" y="530.1543">PATH</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1873.5" x2="2063.5" y1="542" y2="542"/><ellipse cx="1883.5" cy="553" fill="none" rx="3" ry="3" style="stroke: #2AA198; stroke-width: 1.0;"/><text fill="#E0E0E0" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="166" x="1892.5" y="556.2104">edge_list : tuple[ORIENTED_EDGE]</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1873.5" x2="2063.5" y1="562.8047" y2="562.8047"/><!--MD5=[5ecb2c5016b00449a5da2521c3e2c274]
class POINT--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="48" id="POINT" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="68" x="646.5" y="369"/><ellipse cx="661.5" cy="385" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M665.0156,389.0313 L665.0156,391.0625 Q663.5313,391.6719 661.7031,391.6719 Q658.9844,391.6719 657.5313,389.9297 Q656.0781,388.1875 656.0781,385.0781 Q656.0781,382.0781 657.6563,380.2891 Q659.2344,378.5 661.9531,378.5 Q663.8594,378.5 665.5938,379.4219 L664.6406,381.3281 Q663.1406,380.5469 661.9531,380.5469 Q660.3438,380.5469 659.3672,381.7578 Q658.3906,382.9688 658.3906,385.0938 Q658.3906,387.3438 659.3047,388.4844 Q660.2188,389.625 661.9531,389.625 Q662.9844,389.625 665.0156,389.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="36" x="675.5" y="389.1543">POINT</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="647.5" x2="713.5" y1="401" y2="401"/><line style="stroke: #8787D7; stroke-width: 1.5;" x1="647.5" x2="713.5" y1="409" y2="409"/><!--MD5=[8acb34514b162d87ad793fe3c3f2a547]
class CURVE--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="48" id="CURVE" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="67" x="1043" y="369"/><ellipse cx="1058" cy="385" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M1061.5156,389.0313 L1061.5156,391.0625 Q1060.0313,391.6719 1058.2031,391.6719 Q1055.4844,391.6719 1054.0313,389.9297 Q1052.5781,388.1875 1052.5781,385.0781 Q1052.5781,382.0781 1054.1563,380.2891 Q1055.7344,378.5 1058.4531,378.5 Q1060.3594,378.5 1062.0938,379.4219 L1061.1406,381.3281 Q1059.6406,380.5469 1058.4531,380.5469 Q1056.8438,380.5469 1055.8672,381.7578 Q1054.8906,382.9688 1054.8906,385.0938 Q1054.8906,387.3438 1055.8047,388.4844 Q1056.7188,389.625 1058.4531,389.625 Q1059.4844,389.625 1061.5156,389.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="35" x="1072" y="389.1543">CURVE</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1044" x2="1109" y1="401" y2="401"/><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1044" x2="1109" y1="409" y2="409"/><!--MD5=[1e7dc99bda2dbd536107ef6a4345996b]
class SEAM_CURVE--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="48" id="SEAM_CURVE" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="103" x="1290" y="696"/><ellipse cx="1305" cy="712" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M1308.5156,716.0313 L1308.5156,718.0625 Q1307.0313,718.6719 1305.2031,718.6719 Q1302.4844,718.6719 1301.0313,716.9297 Q1299.5781,715.1875 1299.5781,712.0781 Q1299.5781,709.0781 1301.1563,707.2891 Q1302.7344,705.5 1305.4531,705.5 Q1307.3594,705.5 1309.0938,706.4219 L1308.1406,708.3281 Q1306.6406,707.5469 1305.4531,707.5469 Q1303.8438,707.5469 1302.8672,708.7578 Q1301.8906,709.9688 1301.8906,712.0938 Q1301.8906,714.3438 1302.8047,715.4844 Q1303.7188,716.625 1305.4531,716.625 Q1306.4844,716.625 1308.5156,716.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="71" x="1319" y="716.1543">SEAM_CURVE</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1291" x2="1392" y1="728" y2="728"/><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1291" x2="1392" y1="736" y2="736"/><!--MD5=[1ff3116a635f968630e77b9b42e0daf6]
class BONDED_CURVE--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="48" id="BONDED_CURVE" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="119" x="791" y="516.5"/><ellipse cx="806" cy="532.5" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M809.5156,536.5313 L809.5156,538.5625 Q808.0313,539.1719 806.2031,539.1719 Q803.4844,539.1719 802.0313,537.4297 Q800.5781,535.6875 800.5781,532.5781 Q800.5781,529.5781 802.1563,527.7891 Q803.7344,526 806.4531,526 Q808.3594,526 810.0938,526.9219 L809.1406,528.8281 Q807.6406,528.0469 806.4531,528.0469 Q804.8438,528.0469 803.8672,529.2578 Q802.8906,530.4688 802.8906,532.5938 Q802.8906,534.8438 803.8047,535.9844 Q804.7188,537.125 806.4531,537.125 Q807.4844,537.125 809.5156,536.5313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="820" y="536.6543">BONDED_CURVE</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="792" x2="909" y1="548.5" y2="548.5"/><line style="stroke: #8787D7; stroke-width: 1.5;" x1="792" x2="909" y1="556.5" y2="556.5"/><!--MD5=[43834aa00debdc4d327841da7e7c2bd0]
class TOPOLOGICAL_REPRESENTATION_ITEM--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="48" id="TOPOLOGICAL_REPRESENTATION_ITEM" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="247" x="1473" y="240.5"/><ellipse cx="1488" cy="256.5" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M1491.5156,260.5313 L1491.5156,262.5625 Q1490.0313,263.1719 1488.2031,263.1719 Q1485.4844,263.1719 1484.0313,261.4297 Q1482.5781,259.6875 1482.5781,256.5781 Q1482.5781,253.5781 1484.1563,251.7891 Q1485.7344,250 1488.4531,250 Q1490.3594,250 1492.0938,250.9219 L1491.1406,252.8281 Q1489.6406,252.0469 1488.4531,252.0469 Q1486.8438,252.0469 1485.8672,253.2578 Q1484.8906,254.4688 1484.8906,256.5938 Q1484.8906,258.8438 1485.8047,259.9844 Q1486.7188,261.125 1488.4531,261.125 Q1489.4844,261.125 1491.5156,260.5313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="215" x="1502" y="260.6543">TOPOLOGICAL_REPRESENTATION_ITEM</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1474" x2="1719" y1="272.5" y2="272.5"/><line style="stroke: #8787D7; stroke-width: 1.5;" x1="1474" x2="1719" y1="280.5" y2="280.5"/><!--MD5=[f9fc0455733f430a3db859cfc137488a]
class VERTEX--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="48" id="VERTEX" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="72" x="752.5" y="369"/><ellipse cx="767.5" cy="385" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M771.0156,389.0313 L771.0156,391.0625 Q769.5313,391.6719 767.7031,391.6719 Q764.9844,391.6719 763.5313,389.9297 Q762.0781,388.1875 762.0781,385.0781 Q762.0781,382.0781 763.6563,380.2891 Q765.2344,378.5 767.9531,378.5 Q769.8594,378.5 771.5938,379.4219 L770.6406,381.3281 Q769.1406,380.5469 767.9531,380.5469 Q766.3438,380.5469 765.3672,381.7578 Q764.3906,382.9688 764.3906,385.0938 Q764.3906,387.3438 765.3047,388.4844 Q766.2188,389.625 767.9531,389.625 Q768.9844,389.625 771.0156,389.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="40" x="781.5" y="389.1543">VERTEX</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="753.5" x2="823.5" y1="401" y2="401"/><line style="stroke: #8787D7; stroke-width: 1.5;" x1="753.5" x2="823.5" y1="409" y2="409"/><!--MD5=[a7b5c25d50c8a281fd9cc7a528ffc3ca]
class LOOP--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="48" id="LOOP" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="63" x="2041" y="369"/><ellipse cx="2056" cy="385" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M2059.5156,389.0313 L2059.5156,391.0625 Q2058.0313,391.6719 2056.2031,391.6719 Q2053.4844,391.6719 2052.0313,389.9297 Q2050.5781,388.1875 2050.5781,385.0781 Q2050.5781,382.0781 2052.1563,380.2891 Q2053.7344,378.5 2056.4531,378.5 Q2058.3594,378.5 2060.0938,379.4219 L2059.1406,381.3281 Q2057.6406,380.5469 2056.4531,380.5469 Q2054.8438,380.5469 2053.8672,381.7578 Q2052.8906,382.9688 2052.8906,385.0938 Q2052.8906,387.3438 2053.8047,388.4844 Q2054.7188,389.625 2056.4531,389.625 Q2057.4844,389.625 2059.5156,389.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="31" x="2070" y="389.1543">LOOP</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="2042" x2="2103" y1="401" y2="401"/><line style="stroke: #8787D7; stroke-width: 1.5;" x1="2042" x2="2103" y1="409" y2="409"/><!--MD5=[c79ae51e6e94c13263e82ee7d6c19c94]
class EDGE_LOOP--><rect fill="#282A2E" filter="url(#f1nmm3v5e0v0da)" height="48" id="EDGE_LOOP" rx="10" ry="10" style="stroke: #8787D7; stroke-width: 1.5;" width="96" x="2022.5" y="696"/><ellipse cx="2037.5" cy="712" fill="#268BD2" rx="11" ry="11" style="stroke: #8787D7; stroke-width: 1.0;"/><path d="M2041.0156,716.0313 L2041.0156,718.0625 Q2039.5313,718.6719 2037.7031,718.6719 Q2034.9844,718.6719 2033.5313,716.9297 Q2032.0781,715.1875 2032.0781,712.0781 Q2032.0781,709.0781 2033.6563,707.2891 Q2035.2344,705.5 2037.9531,705.5 Q2039.8594,705.5 2041.5938,706.4219 L2040.6406,708.3281 Q2039.1406,707.5469 2037.9531,707.5469 Q2036.3438,707.5469 2035.3672,708.7578 Q2034.3906,709.9688 2034.3906,712.0938 Q2034.3906,714.3438 2035.3047,715.4844 Q2036.2188,716.625 2037.9531,716.625 Q2038.9844,716.625 2041.0156,716.0313 Z "/><text fill="#E0E0E0" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="64" x="2051.5" y="716.1543">EDGE_LOOP</text><line style="stroke: #8787D7; stroke-width: 1.5;" x1="2023.5" x2="2117.5" y1="728" y2="728"/><line style="stroke: #8787D7; stroke-width: 1.5;" x1="2023.5" x2="2117.5" y1="736" y2="736"/><!--MD5=[5e36b50efb8e7dbc30f385a3acd3c701]
link Legend.CLASS to FooL--><!--MD5=[281a064e6cfea9ca37818b2ca71bbb3f]
link FooL to REPRESENTATION_ITEM--><!--MD5=[eb1d4d5deb4abaf4c5f72bff2cb038e0]
reverse link REPRESENTATION_ITEM to GEOMETRIC_REPRESENTATION_ITEM--><path d="M1077.84,153.21 C1010.19,178.22 922.24,210.73 859.39,233.97 " fill="none" id="REPRESENTATION_ITEM&lt;-GEOMETRIC_REPRESENTATION_ITEM" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="1075.61,146.57,1096.79,146.2,1080.46,159.71,1075.61,146.57" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[01870caa461f2d9fbe7dc5b372363891]
reverse link GEOMETRIC_REPRESENTATION_ITEM to POINT--><path d="M743.75,311.17 C728.44,330.74 711.23,352.74 698.62,368.84 " fill="none" id="GEOMETRIC_REPRESENTATION_ITEM&lt;-POINT" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="738.45,306.59,756.29,295.16,749.48,315.22,738.45,306.59" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[f5735bee0e8b72ee99cbc44f8ed29453]
reverse link POINT to CARTESIAN_POINT--><path d="M627.03,408.57 C567.46,425.51 468.85,455.71 387.5,491 C374.75,496.53 361.39,503.27 349.02,509.94 " fill="none" id="POINT&lt;-CARTESIAN_POINT" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="625.23,401.8,646.37,403.14,629.01,415.28,625.23,401.8" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[c35c93b1fc71d003af0198f2de03643e]
reverse link GEOMETRIC_REPRESENTATION_ITEM to DIRECTION--><path d="M643.19,294.98 C601.78,304.24 556.2,314.73 514.5,325 C457.45,339.04 393.46,356.22 344.5,369.66 " fill="none" id="GEOMETRIC_REPRESENTATION_ITEM&lt;-DIRECTION" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="641.79,288.12,662.84,290.61,644.83,301.79,641.79,288.12" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[106132e36f1f81ead351e5665d8c6153]
reverse link GEOMETRIC_REPRESENTATION_ITEM to VECTOR--><path d="M830.54,307.98 C849.26,323.56 870.25,341.03 888.23,355.99 " fill="none" id="GEOMETRIC_REPRESENTATION_ITEM&lt;-VECTOR" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="826.03,313.33,815.14,295.16,834.99,302.57,826.03,313.33" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[377a1f8f1b9b0cb63b060a92a348784e]
reverse link GEOMETRIC_REPRESENTATION_ITEM to CURVE--><path d="M890.81,301.72 C932.35,316.68 979.37,335.35 1020.5,356 C1028.04,359.79 1035.83,364.34 1043.12,368.92 " fill="none" id="GEOMETRIC_REPRESENTATION_ITEM&lt;-CURVE" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="888.37,308.28,871.85,295.01,893.04,295.08,888.37,308.28" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[41d49e214f336cf6598adfb229e30202]
reverse link CURVE to LINE--><path d="M1080.06,437.16 C1081.79,458.19 1083.86,483.2 1085.51,503.23 " fill="none" id="CURVE&lt;-LINE" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="1073.07,437.56,1078.4,417.05,1087.02,436.41,1073.07,437.56" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[c4a4ab0997a5636d1aaaffe663431597]
reverse link CURVE to SURFACE_CURVE--><path d="M1127.87,422.2 C1163.37,441.7 1211.5,468.12 1253.09,490.96 " fill="none" id="CURVE&lt;-SURFACE_CURVE" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="1124.22,428.19,1110.06,412.43,1130.96,415.92,1124.22,428.19" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[5f99ff536fcf81f069a301953549ecaf]
reverse link SURFACE_CURVE to SEAM_CURVE--><path d="M1341.5,610.3 C1341.5,640.65 1341.5,674.28 1341.5,695.98 " fill="none" id="SURFACE_CURVE&lt;-SEAM_CURVE" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="1334.5,610,1341.5,590,1348.5,610,1334.5,610" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[5d486adc8aad6800022d75df9915761b]
reverse link GEOMETRIC_REPRESENTATION_ITEM to PLACEMENT--><path d="M701.14,304.96 C676.54,319.26 650.17,336.7 628.5,356 C576.15,402.64 529.66,470.95 505.36,509.73 " fill="none" id="GEOMETRIC_REPRESENTATION_ITEM&lt;-PLACEMENT" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="697.78,298.82,718.64,295.13,704.64,311.03,697.78,298.82" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[bcda20adfeab094570b945148e08dfe2]
reverse link PLACEMENT to AXIS2_PLACEMENT_2D--><path d="M440.84,585.09 C408.73,615.09 366.58,654.46 336.31,682.74 " fill="none" id="PLACEMENT&lt;-AXIS2_PLACEMENT_2D" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="436.3,579.75,455.7,571.21,445.86,589.98,436.3,579.75" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[a2a99276cc12bcfa4cb96a11cafd1364]
reverse link PLACEMENT to AXIS2_PLACEMENT_3D--><path d="M412,579.54 C403.8,583.24 395.53,586.81 387.5,590 C303.92,623.27 275.71,612.29 194.5,651 C179.22,658.28 163.56,667.55 149.21,676.88 " fill="none" id="PLACEMENT&lt;-AXIS2_PLACEMENT_3D" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="409.15,573.15,430.24,571.04,415.07,585.83,409.15,573.15" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[c58dc8af75c8b456bf55d03ed7f7ab39]
reverse link CURVE to CONIC--><path d="M1036.87,431.62 C1022.15,448.24 1007.17,469 999.5,491 C975.23,560.61 1014.02,645.41 1039.01,689.37 " fill="none" id="CURVE&lt;-CONIC" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="1031.82,426.76,1050.65,417.04,1041.99,436.38,1031.82,426.76" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[44a822035ccbe0b66d6d18f3e1dbda05]
reverse link CONIC to CIRCLE--><path d="M1076.14,769.66 C1088.33,801.46 1103.84,841.97 1114.19,868.99 " fill="none" id="CONIC&lt;-CIRCLE" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="1069.5,771.89,1068.88,750.71,1082.57,766.88,1069.5,771.89" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[5594abb41ba040e67246d434657309e4]
reverse link CONIC to ELLIPSE--><path d="M1038.89,769.58 C1027.68,798.85 1013.63,835.51 1003.39,862.24 " fill="none" id="CONIC&lt;-ELLIPSE" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="1032.43,766.88,1046.12,750.71,1045.5,771.89,1032.43,766.88" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[ea575e68667583128568aafbaccc17ec]
reverse link CURVE to BONDED_CURVE--><path d="M1025.85,427.25 C1024.06,428.2 1022.27,429.12 1020.5,430 C985.34,447.38 971.07,439.71 937.5,460 C912.11,475.35 887.57,498.81 871.06,516.28 " fill="none" id="CURVE&lt;-BONDED_CURVE" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="1022.36,421.18,1043.16,417.16,1029.41,433.28,1022.36,421.18" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[374f57fbf6a8114c5601d0af1a8ecf3b]
reverse link BONDED_CURVE to B_SPLINE_CURVE--><path d="M797.65,575.35 C789.61,580.34 781.37,585.36 773.5,590 C737.14,611.45 697.06,633.95 660.5,654.04 " fill="none" id="BONDED_CURVE&lt;-B_SPLINE_CURVE" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="794.07,569.34,814.73,564.64,801.51,581.2,794.07,569.34" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[d8e6cca1e9893bce332e6f50d2df23cf]
reverse link B_SPLINE_CURVE to B_SPLINE_CURVE_WITH_KNOTS--><path d="M539.5,809.37 C539.5,823.31 539.5,837.26 539.5,849.84 " fill="none" id="B_SPLINE_CURVE&lt;-B_SPLINE_CURVE_WITH_KNOTS" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="532.5,809.12,539.5,789.12,546.5,809.12,532.5,809.12" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[55c718b62ed6b1cd6cbec92d141e459f]
reverse link REPRESENTATION_ITEM to TOPOLOGICAL_REPRESENTATION_ITEM--><path d="M1279.34,151.58 C1357.6,179.2 1463.78,216.67 1531.24,240.47 " fill="none" id="REPRESENTATION_ITEM&lt;-TOPOLOGICAL_REPRESENTATION_ITEM" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="1276.62,158.05,1260.09,144.79,1281.28,144.84,1276.62,158.05" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[63f0baf92344e1d0cb267d3c9337da9a]
reverse link TOPOLOGICAL_REPRESENTATION_ITEM to VERTEX--><path d="M1452.72,274.77 C1266.02,288.18 951.19,315.87 842.5,356 C833.94,359.16 825.39,363.93 817.7,368.96 " fill="none" id="TOPOLOGICAL_REPRESENTATION_ITEM&lt;-VERTEX" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="1452.44,267.77,1472.88,273.34,1453.43,281.74,1452.44,267.77" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[64729f362f3d9b56ea43e8e252f862f0]
reverse link VERTEX to VERTEX_POINT--><path d="M759.35,433.27 C741.48,457.34 718.97,487.67 702.58,509.75 " fill="none" id="VERTEX&lt;-VERTEX_POINT" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="753.85,428.94,771.39,417.05,765.09,437.29,753.85,428.94" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[84c2762c3cd4d6f28bd1745bb1ee1032]
reverse link TOPOLOGICAL_REPRESENTATION_ITEM to EDGE--><path d="M1596.5,308.93 C1596.5,324.11 1596.5,340.98 1596.5,355.53 " fill="none" id="TOPOLOGICAL_REPRESENTATION_ITEM&lt;-EDGE" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="1589.5,308.7,1596.5,288.7,1603.5,308.7,1589.5,308.7" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[ee7d115b016edc8ea5d1530b73de3038]
reverse link EDGE to EDGE_CURVE--><path d="M1596.5,450.35 C1596.5,468.16 1596.5,487.37 1596.5,503.37 " fill="none" id="EDGE&lt;-EDGE_CURVE" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="1589.5,450.34,1596.5,430.34,1603.5,450.34,1589.5,450.34" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[e8cf36319f38d06615a33537a534b8f6]
reverse link EDGE to ORIENTED_EDGE--><path d="M1655.81,443.31 C1674.22,458.62 1694.49,475.47 1712.85,490.74 " fill="none" id="EDGE&lt;-ORIENTED_EDGE" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="1651.11,448.51,1640.21,430.34,1660.06,437.74,1651.11,448.51" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[9fc9d406cef0804e23781aca9a24c634]
reverse link TOPOLOGICAL_REPRESENTATION_ITEM to LOOP--><path d="M1739.89,291.97 C1784.87,301.25 1834.51,312.52 1879.5,325 C1937.26,341.03 2002.87,365.09 2040.79,379.6 " fill="none" id="TOPOLOGICAL_REPRESENTATION_ITEM&lt;-LOOP" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="1738.46,298.82,1720.25,287.98,1741.25,285.1,1738.46,298.82" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[c992b670ee92269f6aa1d0926755b287]
reverse link TOPOLOGICAL_REPRESENTATION_ITEM to PATH--><path d="M1644.32,300.72 C1718.28,355.2 1859.07,458.9 1928.18,509.8 " fill="none" id="TOPOLOGICAL_REPRESENTATION_ITEM&lt;-PATH" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="1639.85,306.12,1627.9,288.62,1648.15,294.85,1639.85,306.12" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[475b0615552e9f2cbb96fe4aee34f4bd]
reverse link PATH to EDGE_LOOP--><path d="M1995.61,588.67 C2015.53,623.33 2041.73,668.93 2057.27,695.99 " fill="none" id="PATH&lt;-EDGE_LOOP" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="1989.47,592.04,1985.57,571.21,2001.61,585.06,1989.47,592.04" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[8ca593e63004d40191b48c699037253f]
reverse link LOOP to EDGE_LOOP--><path d="M2077.89,436.96 C2079.75,453.78 2081.59,473.27 2082.5,491 C2084.76,534.94 2084.54,546.05 2082.5,590 C2080.78,627.07 2076.29,669.95 2073.32,695.74 " fill="none" id="LOOP&lt;-EDGE_LOOP" style="stroke: #2AA198; stroke-width: 1.0;"/><polygon fill="none" points="2070.93,437.75,2075.55,417.08,2084.84,436.12,2070.93,437.75" style="stroke: #2AA198; stroke-width: 1.0;"/><!--MD5=[cb2387897f96a78dc549b1635c781e22]
link POINT to VERTEX_POINT--><path d="M680.5,417.05 C680.5,442.14 680.5,482.31 680.5,509.75 " fill="none" id="POINT-VERTEX_POINT" style="stroke: #2AA198; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><!--MD5=[81eecdae026f1208c14ed08fb8d40a59]
link DIRECTION to VECTOR--><path d="M344.85,363.69 C454.98,327.91 658.05,277.72 824,325.5 C845.6,331.72 867.05,343.7 885.05,355.86 " fill="none" id="DIRECTION-VECTOR" style="stroke: #2AA198; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><!--MD5=[8fdb0ba1f9f7efb4e3572b2c7ef5a0a7]
link VERTEX to EDGE--><path d="M806.12,368.74 C819.04,353.14 838.11,334.2 860,325.5 C982.15,276.95 1380.04,349.24 1534.45,380.13 " fill="none" id="VERTEX-EDGE" style="stroke: #2AA198; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><!--MD5=[20f529b9b3c16c2d04915d23a89b6a1a]
link CARTESIAN_POINT to LINE--><path d="M327.98,509.99 C347.8,491.77 375.61,470.31 405,460.5 C524.52,420.61 851.66,423.16 972,460.5 C999.65,469.08 1026.56,486.75 1047.54,503.3 " fill="none" id="CARTESIAN_POINT-LINE" style="stroke: #2AA198; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><!--MD5=[4859356789c8ed7519a8890d0346efa3]
link VECTOR to LINE--><path d="M970.71,430.34 C994.78,452.65 1025.49,481.1 1049.52,503.37 " fill="none" id="VECTOR-LINE" style="stroke: #2AA198; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><!--MD5=[0760dfa87976991aa47e511e77c026ab]
link CURVE to EDGE_CURVE--><path d="M1110.2,398.49 C1183.75,408.95 1363.43,438.17 1505.5,491 C1514.9,494.49 1524.54,498.78 1533.86,503.35 " fill="none" id="CURVE-EDGE_CURVE" style="stroke: #2AA198; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><!--MD5=[76b5889913341c72248633d39dc5ed4e]
link CARTESIAN_POINT to PLACEMENT--><path d="M370.11,540.5 C381.88,540.5 393.65,540.5 405.42,540.5 " fill="none" id="CARTESIAN_POINT-PLACEMENT" style="stroke: #2AA198; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><!--MD5=[b68f428ef7a421bc137e825b91c38d52]
link DIRECTION to AXIS2_PLACEMENT_2D--><path d="M242.31,423.68 C230,442.03 215.92,466.67 209.5,491 C198.28,533.54 196.53,547.96 209.5,590 C220.25,624.84 244,658.68 264.11,682.95 " fill="none" id="DIRECTION-AXIS2_PLACEMENT_2D" style="stroke: #2AA198; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><!--MD5=[4280e5b3fb52511c7f8607337d6fce85]
link DIRECTION to AXIS2_PLACEMENT_3D--><path d="M241,423.6 C232.21,434.88 222.25,447.92 213.5,460 C203.74,473.48 200.57,476.45 192.5,491 C157.86,553.48 125.92,630.13 107.58,676.74 " fill="none" id="DIRECTION-AXIS2_PLACEMENT_3D" style="stroke: #2AA198; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><!--MD5=[8f8a09984e31a790a3aff101f617a826]
link AXIS2_PLACEMENT_2D to CONIC--><path d="M329.47,682.88 C351.67,660.08 383.41,632.94 418,620.5 C509.8,587.5 762.02,598.23 857,620.5 C913.37,633.72 972.04,665.26 1011.24,689.31 " fill="none" id="AXIS2_PLACEMENT_2D-CONIC" style="stroke: #2AA198; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><!--MD5=[ecb0f3a0012485894a39c358f0714006]
link AXIS2_PLACEMENT_3D to CONIC--><path d="M129.32,677 C151.08,655.58 180.34,631.88 212,620.5 C279.44,596.25 787.23,604.14 857,620.5 C913.37,633.72 972.04,665.26 1011.24,689.31 " fill="none" id="AXIS2_PLACEMENT_3D-CONIC" style="stroke: #2AA198; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><!--MD5=[d7fbe7521c4685862be1855ecc8ce7b1]
link CARTESIAN_POINT to B_SPLINE_CURVE--><path d="M338.57,571.01 C368.08,592.75 409.44,623.21 446.97,650.85 " fill="none" id="CARTESIAN_POINT-B_SPLINE_CURVE" style="stroke: #2AA198; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><!--MD5=[a92d905e2b2ae0c092d9552c8c71a000]
link ORIENTED_EDGE to PATH--><path d="M1837.68,540.5 C1849.26,540.5 1860.85,540.5 1872.43,540.5 " fill="none" id="ORIENTED_EDGE-PATH" style="stroke: #2AA198; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><!--MD5=[441e4252acce02e937ba4d5463f79ddc]
link B_SPLINE_CURVE to B_SPLINE_CURVE_FORM--><path d="M660.78,720 C672.38,720 683.98,720 695.58,720 " fill="none" id="B_SPLINE_CURVE-B_SPLINE_CURVE_FORM" style="stroke: #2AA198; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><!--MD5=[cb86c945d69a916fe22cb21b77822409]
link B_SPLINE_CURVE_WITH_KNOTS to KNOT_TYPE--><path d="M640.73,899.5 C652.38,899.5 664.03,899.5 675.67,899.5 " fill="none" id="B_SPLINE_CURVE_WITH_KNOTS-KNOT_TYPE" style="stroke: #2AA198; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><!--MD5=[94b0cd8f9ce5485bd74641e4bf19837a]
@startuml
skinparam roundcorner 20
skinparam backgroundColor transparent
skinparam defaultFontColor #e0e0e0
skinparam class {
BackgroundColor #282a2e
BorderColor #8787d7
ArrowColor #2aa198
}
skinparam stereotypeCBackgroundColor #268bd2
skinparam stereotypeEBackgroundColor #008787
skinparam iconPublicColor #2aa198
skinparam iconPrivateColor #df005f
skinparam iconProtectedColor #a17d59
skinparam iconPackageColor #268bd2
skinparam packageBackgroundColor #282a2e
skinparam packageBorderColor #8787d7
class Legend.CLASS {
+ explicit attribute
# derived attribute
- additional attribute
{static} static attribute
<color #d75fd7><&wrench> TODO</color>
}
Legend.CLASS -[hidden]> FooL : mmmmmmmmmmmmmmmmmmmm
FooL -[hidden]> REPRESENTATION_ITEM : mmmmmmmmmmmmmmmmmmmm
hide FooL
enum B_SPLINE_CURVE_FORM {
POLYLINE_FORM
CIRCULAR_ARC
ELLIPTIC_ARC
PARABOLIC_ARC
HYPERBOLIC_ARC
UNSPECIFIED
}
enum KNOT_TYPE {
UNIFORM_KNOTS
QUASI_UNIFORM_KNOTS
PIECEWISE_BEZIER_KNOTS
UNSPECIFIED
}
class REPRESENTATION_ITEM {
+ name : str
- {static} idn : int <<generated>>
}
class GEOMETRIC_REPRESENTATION_ITEM {
# dim : int
}
class CARTESIAN_POINT {
+ coordinates : tuple[float]
}
class VERTEX_POINT {
+ vertex_geometry : POINT
}
class DIRECTION {
+ direction_ratios : tuple[float]
}
class VECTOR {
+ orientation : DIRECTION
+ magnitude : float
}
class EDGE {
+ edge_start : VERTEX
+ edge_end : VERTEX
}
class LINE {
+ pnt : CARTESIAN_POINT
+ dir : VECTOR
}
class SURFACE_CURVE {
+ curve_3d : CURVE
+ associated_geometry : str <color #d75fd7><&wrench> tuple[PCURVE, SURFACE]</color>
+ master_representation : str <color #d75fd7><&wrench></color>
# basis_surface : None <color #d75fd7><&wrench> tuple[SURFACE]</color>
}
class EDGE_CURVE {
+ edge_geometry : CURVE
+ same_sense : str
}
class PLACEMENT {
+ location : CARTESIAN_POINT
}
class AXIS2_PLACEMENT_2D {
+ ref_direction : DIRECTION
# p : None <color #d75fd7><&wrench> tuple[DIRECTION]</color>
}
class AXIS2_PLACEMENT_3D {
+ axis : DIRECTION
+ ref_direction : DIRECTION
# p : None <color #d75fd7><&wrench> tuple[DIRECTION]</color>
}
class CONIC {
+ position : Union[AXIS2_PLACEMENT_2D, AXIS_PLACEMENT_3D]
}
class CIRCLE {
+ radius : float
}
class ELLIPSE {
+ semi_axis_1 : float
+ semi_axis_2 : float
}
class B_SPLINE_CURVE {
+ degree : int
+ control_points_list : tuple[CARTESIAN_POINT]
+ curve_form : str <color #d75fd7><&wrench> B_BLINE_CURVE_FORM</color>
+ closed_curve : str <color #d75fd7><&wrench> bool</color>
+ self_intersect : str <color #d75fd7><&wrench> bool</color>
# upper_index_on_control_points : int
# control_points : tuple[CARTESIAN_POINT]
}
class B_SPLINE_CURVE_WITH_KNOTS {
+ knot_multiplicities : tuple[int]
+ knots : tuple[float]
+ knot_spec : str <color #d75fd7><&wrench> KNOT_TYPE</color>
# upper_index_on_knots : int
}
class ORIENTED_EDGE {
+ edge_element : EDGE
+ orientation : str
# edge_start : VERTEX
# edge_end : VERTEX
}
class PATH {
+ edge_list : tuple[ORIENTED_EDGE]
}
REPRESENTATION_ITEM <|- - GEOMETRIC_REPRESENTATION_ITEM
GEOMETRIC_REPRESENTATION_ITEM <|- - POINT
POINT <|- - CARTESIAN_POINT
GEOMETRIC_REPRESENTATION_ITEM <|- - DIRECTION
GEOMETRIC_REPRESENTATION_ITEM <|- - VECTOR
GEOMETRIC_REPRESENTATION_ITEM <|- - CURVE
CURVE <|- - LINE
CURVE <|- - SURFACE_CURVE
SURFACE_CURVE <|- - SEAM_CURVE
GEOMETRIC_REPRESENTATION_ITEM <|- - PLACEMENT
PLACEMENT <|- - AXIS2_PLACEMENT_2D
PLACEMENT <|- - AXIS2_PLACEMENT_3D
CURVE <|- - CONIC
CONIC <|- - CIRCLE
CONIC <|- - ELLIPSE
CURVE <|- - BONDED_CURVE
BONDED_CURVE <|- - B_SPLINE_CURVE
B_SPLINE_CURVE <|- - B_SPLINE_CURVE_WITH_KNOTS
REPRESENTATION_ITEM <|- - TOPOLOGICAL_REPRESENTATION_ITEM
TOPOLOGICAL_REPRESENTATION_ITEM <|- - VERTEX
VERTEX <|- - VERTEX_POINT
TOPOLOGICAL_REPRESENTATION_ITEM <|- - EDGE
EDGE <|- - EDGE_CURVE
EDGE <|- - ORIENTED_EDGE
TOPOLOGICAL_REPRESENTATION_ITEM <|- - LOOP
TOPOLOGICAL_REPRESENTATION_ITEM <|- - PATH
PATH <|- - EDGE_LOOP
LOOP <|- - EDGE_LOOP
POINT .. VERTEX_POINT
DIRECTION . VECTOR
VERTEX . EDGE
CARTESIAN_POINT . LINE
VECTOR .. LINE
CURVE . EDGE_CURVE
CARTESIAN_POINT . PLACEMENT
DIRECTION . AXIS2_PLACEMENT_2D
DIRECTION . AXIS2_PLACEMENT_3D
AXIS2_PLACEMENT_2D . CONIC
AXIS2_PLACEMENT_3D . CONIC
CARTESIAN_POINT . B_SPLINE_CURVE
ORIENTED_EDGE . PATH
B_SPLINE_CURVE . B_SPLINE_CURVE_FORM
B_SPLINE_CURVE_WITH_KNOTS . KNOT_TYPE
@enduml
PlantUML version 1.2019.13(Tue Dec 10 18:18:29 CET 2019)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 1.8.0_232-b09
Operating System: Linux
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>