@geode/opengeodeweb-front 9.9.0 → 9.10.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/viewer_svgs/edged_curve_edges.svg +67 -0
- package/assets/viewer_svgs/edged_curve_points.svg +95 -0
- package/assets/viewer_svgs/grid_2d_cells.svg +78 -0
- package/assets/viewer_svgs/grid_2d_edges.svg +71 -0
- package/assets/viewer_svgs/grid_2d_points.svg +108 -0
- package/assets/viewer_svgs/grid_3d_cells.svg +76 -0
- package/assets/viewer_svgs/grid_3d_edges.svg +72 -0
- package/assets/viewer_svgs/grid_3d_facets.svg +102 -0
- package/assets/viewer_svgs/grid_3d_points.svg +172 -0
- package/assets/viewer_svgs/point_set_points.svg +86 -0
- package/assets/viewer_svgs/solid_edges.svg +96 -0
- package/assets/viewer_svgs/solid_facets.svg +119 -0
- package/assets/viewer_svgs/solid_points.svg +134 -0
- package/assets/viewer_svgs/solid_polyhedra.svg +103 -0
- package/assets/viewer_svgs/surface_edges.svg +73 -0
- package/assets/viewer_svgs/surface_points.svg +115 -0
- package/assets/viewer_svgs/surface_triangles.svg +92 -0
- package/components/ContextMenu.vue +123 -0
- package/components/ContextMenuItem.vue +90 -0
- package/components/HybridRenderingView.vue +41 -0
- package/components/VeaseViewToolbar.vue +107 -0
- package/components/Viewer/BreadCrumb.vue +61 -0
- package/components/Viewer/EdgedCurve/EdgesOptions.vue +14 -0
- package/components/Viewer/EdgedCurve/PointsOptions.vue +14 -0
- package/components/Viewer/Generic/Mesh/EdgesOptions.vue +48 -0
- package/components/Viewer/Generic/Mesh/PointsOptions.vue +73 -0
- package/components/Viewer/Generic/Mesh/PolygonsOptions.vue +65 -0
- package/components/Viewer/Generic/Mesh/PolyhedraOptions.vue +58 -0
- package/components/Viewer/Generic/Model/EdgesOptions.vue +29 -0
- package/components/Viewer/Generic/Model/PointsOptions.vue +53 -0
- package/components/Viewer/Grid/2D/CellsOptions.vue +15 -0
- package/components/Viewer/Grid/2D/EdgesOptions.vue +14 -0
- package/components/Viewer/Grid/2D/PointsOptions.vue +14 -0
- package/components/Viewer/Grid/3D/CellsOptions.vue +15 -0
- package/components/Viewer/Grid/3D/EdgesOptions.vue +14 -0
- package/components/Viewer/Grid/3D/FacetsOptions.vue +15 -0
- package/components/Viewer/Grid/3D/PointsOptions.vue +14 -0
- package/components/Viewer/HybridSolid/EdgesOptions.vue +14 -0
- package/components/Viewer/HybridSolid/PointsOptions.vue +14 -0
- package/components/Viewer/HybridSolid/PolygonsOptions.vue +14 -0
- package/components/Viewer/HybridSolid/PolyhedraOptions.vue +14 -0
- package/components/Viewer/Options/ColorPicker.vue +25 -0
- package/components/Viewer/Options/ColoringTypeSelector.vue +125 -0
- package/components/Viewer/Options/PolygonAttributeSelector.vue +59 -0
- package/components/Viewer/Options/PolyhedronAttributeSelector.vue +63 -0
- package/components/Viewer/Options/TextureItem.vue +116 -0
- package/components/Viewer/Options/TexturesSelector.vue +67 -0
- package/components/Viewer/Options/VertexAttributeSelector.vue +60 -0
- package/components/Viewer/Options/VisibilitySwitch.vue +14 -0
- package/components/Viewer/PointSet/PointsOptions.vue +14 -0
- package/components/Viewer/PointSet/SpecificPointsOptions.vue +74 -0
- package/components/Viewer/PolygonalSurface/EdgesOptions.vue +14 -0
- package/components/Viewer/PolygonalSurface/PointsOptions.vue +14 -0
- package/components/Viewer/PolygonalSurface/PolygonsOptions.vue +14 -0
- package/components/Viewer/Solid/EdgesOptions.vue +14 -0
- package/components/Viewer/Solid/PointsOptions.vue +14 -0
- package/components/Viewer/Solid/PolygonsOptions.vue +14 -0
- package/components/Viewer/Solid/PolyhedraOptions.vue +14 -0
- package/components/Viewer/TetrahedralSolid/TetrahedraOptions.vue +15 -0
- package/components/Viewer/TetrahedralSolid/TrianglesOptions.vue +15 -0
- package/components/Viewer/Tree/ObjectTree.vue +170 -0
- package/components/Viewer/TreeComponent.vue +93 -0
- package/components/Viewer/TreeObject.vue +100 -0
- package/components/Viewer/TriangulatedSurface/EdgesOptions.vue +14 -0
- package/components/Viewer/TriangulatedSurface/PointsOptions.vue +14 -0
- package/components/Viewer/TriangulatedSurface/TrianglesOptions.vue +15 -0
- package/internal_stores/data_style_state.js +18 -0
- package/internal_stores/mesh/edges.js +106 -0
- package/internal_stores/mesh/index.js +50 -0
- package/internal_stores/mesh/points.js +131 -0
- package/internal_stores/mesh/polygons.js +159 -0
- package/internal_stores/mesh/polyhedra.js +136 -0
- package/internal_stores/model/blocks.js +60 -0
- package/internal_stores/model/corners.js +63 -0
- package/internal_stores/model/edges.js +47 -0
- package/internal_stores/model/index.js +154 -0
- package/internal_stores/model/lines.js +81 -0
- package/internal_stores/model/points.js +61 -0
- package/internal_stores/model/surfaces.js +60 -0
- package/package.json +1 -1
- package/stores/data_base.js +148 -0
- package/stores/data_style.js +57 -0
- package/stores/hybrid_viewer.js +193 -0
- package/stores/menu.js +182 -0
- package/stores/treeview.js +64 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
3
|
+
|
|
4
|
+
<svg
|
|
5
|
+
width="16.103067mm"
|
|
6
|
+
height="16.671467mm"
|
|
7
|
+
viewBox="0 0 57.058112 59.072129"
|
|
8
|
+
id="svg2"
|
|
9
|
+
version="1.1"
|
|
10
|
+
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
|
11
|
+
sodipodi:docname="solid_points.svg"
|
|
12
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
13
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
14
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
15
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
|
16
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
17
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
|
18
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
|
19
|
+
<sodipodi:namedview
|
|
20
|
+
id="base"
|
|
21
|
+
pagecolor="#ffffff"
|
|
22
|
+
bordercolor="#666666"
|
|
23
|
+
borderopacity="1.0"
|
|
24
|
+
inkscape:pageopacity="0.0"
|
|
25
|
+
inkscape:pageshadow="2"
|
|
26
|
+
inkscape:zoom="8.0000002"
|
|
27
|
+
inkscape:cx="37.249999"
|
|
28
|
+
inkscape:cy="21.999999"
|
|
29
|
+
inkscape:document-units="px"
|
|
30
|
+
inkscape:current-layer="g6358"
|
|
31
|
+
showgrid="false"
|
|
32
|
+
inkscape:window-width="1920"
|
|
33
|
+
inkscape:window-height="1043"
|
|
34
|
+
inkscape:window-x="1920"
|
|
35
|
+
inkscape:window-y="0"
|
|
36
|
+
inkscape:window-maximized="1"
|
|
37
|
+
fit-margin-top="0"
|
|
38
|
+
fit-margin-left="0"
|
|
39
|
+
fit-margin-right="0"
|
|
40
|
+
fit-margin-bottom="0"
|
|
41
|
+
inkscape:pagecheckerboard="0"
|
|
42
|
+
width="14.56725mm"
|
|
43
|
+
inkscape:showpageshadow="0"
|
|
44
|
+
inkscape:deskcolor="#d1d1d1" />
|
|
45
|
+
<defs
|
|
46
|
+
id="defs4" />
|
|
47
|
+
<metadata
|
|
48
|
+
id="metadata7">
|
|
49
|
+
<rdf:RDF>
|
|
50
|
+
<cc:Work
|
|
51
|
+
rdf:about="">
|
|
52
|
+
<dc:format>image/svg+xml</dc:format>
|
|
53
|
+
<dc:type
|
|
54
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
55
|
+
</cc:Work>
|
|
56
|
+
</rdf:RDF>
|
|
57
|
+
</metadata>
|
|
58
|
+
<g
|
|
59
|
+
id="layer1"
|
|
60
|
+
inkscape:groupmode="layer"
|
|
61
|
+
inkscape:label="Calque 1"
|
|
62
|
+
transform="translate(-38.245882,-1039.2148)">
|
|
63
|
+
<g
|
|
64
|
+
id="g6358"
|
|
65
|
+
transform="matrix(0.97484501,0.22288385,-0.0558804,1.0130279,35.823527,161.82849)">
|
|
66
|
+
<ellipse
|
|
67
|
+
ry="4.9195733"
|
|
68
|
+
rx="5.33915"
|
|
69
|
+
cy="861.63928"
|
|
70
|
+
cx="24.216125"
|
|
71
|
+
id="ellipse3464-8"
|
|
72
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.21364;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
|
73
|
+
transform="matrix(0.97664088,-0.21487807,0.0572284,0.99836111,0,0)" />
|
|
74
|
+
<path
|
|
75
|
+
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.9375;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.75, 3.75;stroke-dashoffset:0;stroke-opacity:1"
|
|
76
|
+
d="M 59.285714,893.93363 105,864.29077"
|
|
77
|
+
id="path3603"
|
|
78
|
+
inkscape:connector-curvature="0" />
|
|
79
|
+
<ellipse
|
|
80
|
+
ry="4.9195733"
|
|
81
|
+
rx="5.33915"
|
|
82
|
+
cy="877.24677"
|
|
83
|
+
cx="56.357399"
|
|
84
|
+
id="ellipse5469"
|
|
85
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.21364;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
|
86
|
+
transform="matrix(0.97664088,-0.21487807,0.0572284,0.99836111,0,0)" />
|
|
87
|
+
<ellipse
|
|
88
|
+
ry="4.9195733"
|
|
89
|
+
rx="5.33915"
|
|
90
|
+
cy="909.48083"
|
|
91
|
+
cx="42.713058"
|
|
92
|
+
id="ellipse5471"
|
|
93
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.21364;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
|
94
|
+
transform="matrix(0.97664088,-0.21487807,0.0572284,0.99836111,0,0)" />
|
|
95
|
+
<ellipse
|
|
96
|
+
ry="4.9195733"
|
|
97
|
+
rx="5.33915"
|
|
98
|
+
cy="897.68372"
|
|
99
|
+
cx="7.8517537"
|
|
100
|
+
id="ellipse5473"
|
|
101
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.21364;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
|
102
|
+
transform="matrix(0.97664088,-0.21487807,0.0572284,0.99836111,0,0)" />
|
|
103
|
+
<path
|
|
104
|
+
style="fill:none;stroke:#000000;stroke-width:0.9375;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
|
|
105
|
+
d="M 70.913669,862.0973 60.718292,887.74886"
|
|
106
|
+
id="path6618" />
|
|
107
|
+
<path
|
|
108
|
+
style="fill:none;stroke:#000000;stroke-width:0.9375;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
|
|
109
|
+
d="m 65.382584,895.34952 21.720948,2.46949"
|
|
110
|
+
id="path6620" />
|
|
111
|
+
<path
|
|
112
|
+
style="fill:none;stroke:#000000;stroke-width:0.9375;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
|
|
113
|
+
d="m 80.399095,857.39046 17.75,4.9787"
|
|
114
|
+
id="path6622" />
|
|
115
|
+
<path
|
|
116
|
+
style="fill:none;stroke:#000000;stroke-width:0.9375;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
|
|
117
|
+
d="m 102.5702,871.2933 -6.964481,20.07115"
|
|
118
|
+
id="path6624" />
|
|
119
|
+
</g>
|
|
120
|
+
<flowRoot
|
|
121
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0.01%;font-family:Roboto;-inkscape-font-specification:Roboto;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
122
|
+
id="flowRoot4518"
|
|
123
|
+
xml:space="preserve"><flowRegion
|
|
124
|
+
id="flowRegion4520"><rect
|
|
125
|
+
y="1311.6479"
|
|
126
|
+
x="27.142857"
|
|
127
|
+
height="57.142857"
|
|
128
|
+
width="155"
|
|
129
|
+
id="rect4522"
|
|
130
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Roboto;-inkscape-font-specification:Roboto" /></flowRegion><flowPara
|
|
131
|
+
id="flowPara4524"
|
|
132
|
+
style="font-size:27.5px;line-height:1.25"> </flowPara></flowRoot>
|
|
133
|
+
</g>
|
|
134
|
+
</svg>
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
3
|
+
|
|
4
|
+
<svg
|
|
5
|
+
width="14.56725mm"
|
|
6
|
+
height="14.741101mm"
|
|
7
|
+
viewBox="0 0 51.61624 52.232251"
|
|
8
|
+
id="svg2"
|
|
9
|
+
version="1.1"
|
|
10
|
+
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
|
11
|
+
sodipodi:docname="solid_polyhedra.svg"
|
|
12
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
13
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
14
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
15
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
|
16
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
17
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
|
18
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
|
19
|
+
<sodipodi:namedview
|
|
20
|
+
id="base"
|
|
21
|
+
pagecolor="#ffffff"
|
|
22
|
+
bordercolor="#666666"
|
|
23
|
+
borderopacity="1.0"
|
|
24
|
+
inkscape:pageopacity="0.0"
|
|
25
|
+
inkscape:pageshadow="2"
|
|
26
|
+
inkscape:zoom="11.313709"
|
|
27
|
+
inkscape:cx="15.733125"
|
|
28
|
+
inkscape:cy="25.190678"
|
|
29
|
+
inkscape:document-units="px"
|
|
30
|
+
inkscape:current-layer="g6358"
|
|
31
|
+
showgrid="false"
|
|
32
|
+
inkscape:window-width="1920"
|
|
33
|
+
inkscape:window-height="1043"
|
|
34
|
+
inkscape:window-x="1920"
|
|
35
|
+
inkscape:window-y="0"
|
|
36
|
+
inkscape:window-maximized="1"
|
|
37
|
+
fit-margin-top="0"
|
|
38
|
+
fit-margin-left="0"
|
|
39
|
+
fit-margin-right="0"
|
|
40
|
+
fit-margin-bottom="0"
|
|
41
|
+
inkscape:pagecheckerboard="0"
|
|
42
|
+
width="14.56725mm"
|
|
43
|
+
inkscape:showpageshadow="0"
|
|
44
|
+
inkscape:deskcolor="#d1d1d1" />
|
|
45
|
+
<defs
|
|
46
|
+
id="defs4" />
|
|
47
|
+
<metadata
|
|
48
|
+
id="metadata7">
|
|
49
|
+
<rdf:RDF>
|
|
50
|
+
<cc:Work
|
|
51
|
+
rdf:about="">
|
|
52
|
+
<dc:format>image/svg+xml</dc:format>
|
|
53
|
+
<dc:type
|
|
54
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
55
|
+
</cc:Work>
|
|
56
|
+
</rdf:RDF>
|
|
57
|
+
</metadata>
|
|
58
|
+
<g
|
|
59
|
+
id="layer1"
|
|
60
|
+
inkscape:groupmode="layer"
|
|
61
|
+
inkscape:label="Calque 1"
|
|
62
|
+
transform="translate(-40.39686,-1042.6347)">
|
|
63
|
+
<g
|
|
64
|
+
id="g6358"
|
|
65
|
+
transform="matrix(0.97484501,0.22288385,-0.0558804,1.0130279,35.823527,161.82849)">
|
|
66
|
+
<path
|
|
67
|
+
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.56250001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
68
|
+
d="M 93.175917,898.36698 105.08026,864.6786 73.54819,855.46885 Z"
|
|
69
|
+
id="path3559"
|
|
70
|
+
inkscape:connector-curvature="0"
|
|
71
|
+
sodipodi:nodetypes="cccc" />
|
|
72
|
+
<path
|
|
73
|
+
sodipodi:nodetypes="ccc"
|
|
74
|
+
inkscape:connector-curvature="0"
|
|
75
|
+
id="path3561"
|
|
76
|
+
d="m 73.54819,855.46885 -15.464419,38.90846 35.092146,3.98967"
|
|
77
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.56250001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
|
|
78
|
+
<path
|
|
79
|
+
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4.5, 4.5;stroke-dashoffset:0;stroke-opacity:1"
|
|
80
|
+
d="M 58.083771,894.37731 105.08026,864.6786"
|
|
81
|
+
id="path3603"
|
|
82
|
+
inkscape:connector-curvature="0"
|
|
83
|
+
sodipodi:nodetypes="cc" />
|
|
84
|
+
<path
|
|
85
|
+
style="fill:#000000;stroke:none;stroke-width:0.9375px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:0.62393421"
|
|
86
|
+
d="m 74.91637,858.45913 -13.373161,33.73204 30.372021,3.42047 10.74471,-29.40356 z"
|
|
87
|
+
id="path13329" />
|
|
88
|
+
</g>
|
|
89
|
+
<flowRoot
|
|
90
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0.01%;font-family:Roboto;-inkscape-font-specification:Roboto;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
91
|
+
id="flowRoot4518"
|
|
92
|
+
xml:space="preserve"><flowRegion
|
|
93
|
+
id="flowRegion4520"><rect
|
|
94
|
+
y="1311.6479"
|
|
95
|
+
x="27.142857"
|
|
96
|
+
height="57.142857"
|
|
97
|
+
width="155"
|
|
98
|
+
id="rect4522"
|
|
99
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Roboto;-inkscape-font-specification:Roboto" /></flowRegion><flowPara
|
|
100
|
+
id="flowPara4524"
|
|
101
|
+
style="font-size:27.5px;line-height:1.25"> </flowPara></flowRoot>
|
|
102
|
+
</g>
|
|
103
|
+
</svg>
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
3
|
+
|
|
4
|
+
<svg
|
|
5
|
+
width="14.461467mm"
|
|
6
|
+
height="10.914769mm"
|
|
7
|
+
viewBox="0 0 51.241417 38.67438"
|
|
8
|
+
id="svg2"
|
|
9
|
+
version="1.1"
|
|
10
|
+
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
|
11
|
+
sodipodi:docname="surface_edges.svg"
|
|
12
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
13
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
14
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
15
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
|
16
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
17
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
|
18
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
|
19
|
+
<sodipodi:namedview
|
|
20
|
+
id="base"
|
|
21
|
+
pagecolor="#ffffff"
|
|
22
|
+
bordercolor="#666666"
|
|
23
|
+
borderopacity="1.0"
|
|
24
|
+
inkscape:pageopacity="0.0"
|
|
25
|
+
inkscape:pageshadow="2"
|
|
26
|
+
inkscape:zoom="8.0000004"
|
|
27
|
+
inkscape:cx="-6.4374997"
|
|
28
|
+
inkscape:cy="15.749999"
|
|
29
|
+
inkscape:document-units="px"
|
|
30
|
+
inkscape:current-layer="layer1"
|
|
31
|
+
showgrid="false"
|
|
32
|
+
inkscape:window-width="1920"
|
|
33
|
+
inkscape:window-height="1043"
|
|
34
|
+
inkscape:window-x="3840"
|
|
35
|
+
inkscape:window-y="0"
|
|
36
|
+
inkscape:window-maximized="1"
|
|
37
|
+
fit-margin-top="0"
|
|
38
|
+
fit-margin-left="0"
|
|
39
|
+
fit-margin-right="0"
|
|
40
|
+
fit-margin-bottom="0"
|
|
41
|
+
inkscape:pagecheckerboard="0" />
|
|
42
|
+
<defs
|
|
43
|
+
id="defs4" />
|
|
44
|
+
<metadata
|
|
45
|
+
id="metadata7">
|
|
46
|
+
<rdf:RDF>
|
|
47
|
+
<cc:Work
|
|
48
|
+
rdf:about="">
|
|
49
|
+
<dc:format>image/svg+xml</dc:format>
|
|
50
|
+
<dc:type
|
|
51
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
52
|
+
</cc:Work>
|
|
53
|
+
</rdf:RDF>
|
|
54
|
+
</metadata>
|
|
55
|
+
<g
|
|
56
|
+
id="layer1"
|
|
57
|
+
inkscape:groupmode="layer"
|
|
58
|
+
inkscape:label="Calque 1"
|
|
59
|
+
transform="translate(-465.95997,-519.92571)">
|
|
60
|
+
<path
|
|
61
|
+
sodipodi:nodetypes="cccc"
|
|
62
|
+
inkscape:connector-curvature="0"
|
|
63
|
+
id="path4771"
|
|
64
|
+
d="m 500.398,556.47811 14.68226,-34.40439 h -31.53207 z"
|
|
65
|
+
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.24248;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
|
66
|
+
<path
|
|
67
|
+
sodipodi:nodetypes="cccccccccccc"
|
|
68
|
+
inkscape:connector-curvature="0"
|
|
69
|
+
id="path4773"
|
|
70
|
+
d="m 485.7571,554.35742 h -14.39577 l 14.12109,-31.41406 c 0.65244,-1.39987 -0.36185,-3.00549 -1.90625,-3.01758 -0.85133,-0.007 -1.62417,0.49627 -1.96289,1.27734 l -15.46484,34.40626 c -0.63011,1.40372 0.39688,2.99033 1.93554,2.99023 h 17.67312 m 0,0 h 14.64134 c 2.88053,0.0529 2.88053,-4.29508 0,-4.24219 H 485.7571"
|
|
71
|
+
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4.24248;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
|
|
72
|
+
</g>
|
|
73
|
+
</svg>
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
3
|
+
|
|
4
|
+
<svg
|
|
5
|
+
width="16.268888mm"
|
|
6
|
+
height="12.536777mm"
|
|
7
|
+
viewBox="0 0 57.645667 44.421651"
|
|
8
|
+
id="svg2"
|
|
9
|
+
version="1.1"
|
|
10
|
+
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
|
11
|
+
sodipodi:docname="surface_points.svg"
|
|
12
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
13
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
14
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
15
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
|
16
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
17
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
|
18
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
|
19
|
+
<sodipodi:namedview
|
|
20
|
+
id="base"
|
|
21
|
+
pagecolor="#ffffff"
|
|
22
|
+
bordercolor="#666666"
|
|
23
|
+
borderopacity="1.0"
|
|
24
|
+
inkscape:pageopacity="0.0"
|
|
25
|
+
inkscape:pageshadow="2"
|
|
26
|
+
inkscape:zoom="5.6568544"
|
|
27
|
+
inkscape:cx="20.771261"
|
|
28
|
+
inkscape:cy="8.5736695"
|
|
29
|
+
inkscape:document-units="px"
|
|
30
|
+
inkscape:current-layer="layer1"
|
|
31
|
+
showgrid="false"
|
|
32
|
+
inkscape:window-width="1920"
|
|
33
|
+
inkscape:window-height="946"
|
|
34
|
+
inkscape:window-x="1920"
|
|
35
|
+
inkscape:window-y="27"
|
|
36
|
+
inkscape:window-maximized="1"
|
|
37
|
+
fit-margin-top="0"
|
|
38
|
+
fit-margin-left="0"
|
|
39
|
+
fit-margin-right="0"
|
|
40
|
+
fit-margin-bottom="0"
|
|
41
|
+
inkscape:pagecheckerboard="0"
|
|
42
|
+
units="in" />
|
|
43
|
+
<defs
|
|
44
|
+
id="defs4" />
|
|
45
|
+
<metadata
|
|
46
|
+
id="metadata7">
|
|
47
|
+
<rdf:RDF>
|
|
48
|
+
<cc:Work
|
|
49
|
+
rdf:about="">
|
|
50
|
+
<dc:format>image/svg+xml</dc:format>
|
|
51
|
+
<dc:type
|
|
52
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
53
|
+
</cc:Work>
|
|
54
|
+
</rdf:RDF>
|
|
55
|
+
</metadata>
|
|
56
|
+
<g
|
|
57
|
+
id="layer1"
|
|
58
|
+
inkscape:groupmode="layer"
|
|
59
|
+
inkscape:label="Calque 1"
|
|
60
|
+
transform="translate(-255.09317,-516.74135)">
|
|
61
|
+
<ellipse
|
|
62
|
+
ry="5.0382481"
|
|
63
|
+
rx="5.1473732"
|
|
64
|
+
cy="556.12476"
|
|
65
|
+
cx="292.06036"
|
|
66
|
+
id="ellipse3464-6"
|
|
67
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.19958;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
|
|
68
|
+
<ellipse
|
|
69
|
+
ry="5.0382481"
|
|
70
|
+
rx="5.1473732"
|
|
71
|
+
cy="522.15839"
|
|
72
|
+
cx="275.5191"
|
|
73
|
+
id="ellipse3464-1"
|
|
74
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.19958;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
|
|
75
|
+
<ellipse
|
|
76
|
+
ry="5.0382481"
|
|
77
|
+
rx="5.1473732"
|
|
78
|
+
cy="521.7796"
|
|
79
|
+
cx="307.59146"
|
|
80
|
+
id="ellipse3464-8"
|
|
81
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.19958;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
|
|
82
|
+
<ellipse
|
|
83
|
+
ry="5.0382481"
|
|
84
|
+
rx="5.1473732"
|
|
85
|
+
cy="556.12476"
|
|
86
|
+
cx="260.24054"
|
|
87
|
+
id="ellipse3464-7"
|
|
88
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.19958;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
|
|
89
|
+
<path
|
|
90
|
+
inkscape:connector-curvature="0"
|
|
91
|
+
id="path4721"
|
|
92
|
+
d="m 268.57431,555.87223 h 15.78363"
|
|
93
|
+
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
|
94
|
+
<path
|
|
95
|
+
inkscape:connector-curvature="0"
|
|
96
|
+
id="path4723"
|
|
97
|
+
d="M 282.96898,521.27451 H 299.6365"
|
|
98
|
+
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
|
99
|
+
<path
|
|
100
|
+
inkscape:connector-curvature="0"
|
|
101
|
+
id="path4725"
|
|
102
|
+
d="m 271.09969,528.72438 -9.21764,20.45559"
|
|
103
|
+
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
|
104
|
+
<path
|
|
105
|
+
inkscape:connector-curvature="0"
|
|
106
|
+
id="path4727"
|
|
107
|
+
d="M 305.82368,527.33542 293.44931,549.0537"
|
|
108
|
+
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
|
109
|
+
<path
|
|
110
|
+
inkscape:connector-curvature="0"
|
|
111
|
+
id="path4729"
|
|
112
|
+
d="m 278.92837,528.59811 9.34391,20.70813"
|
|
113
|
+
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
|
114
|
+
</g>
|
|
115
|
+
</svg>
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
3
|
+
|
|
4
|
+
<svg
|
|
5
|
+
width="13.806398mm"
|
|
6
|
+
height="10.069895mm"
|
|
7
|
+
viewBox="0 0 48.920309 35.68073"
|
|
8
|
+
id="svg2"
|
|
9
|
+
version="1.1"
|
|
10
|
+
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
|
11
|
+
sodipodi:docname="surface_triangles.svg"
|
|
12
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
13
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
14
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
15
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
|
16
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
17
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
|
18
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
|
19
|
+
<sodipodi:namedview
|
|
20
|
+
id="base"
|
|
21
|
+
pagecolor="#ffffff"
|
|
22
|
+
bordercolor="#666666"
|
|
23
|
+
borderopacity="1.0"
|
|
24
|
+
inkscape:pageopacity="0.0"
|
|
25
|
+
inkscape:pageshadow="2"
|
|
26
|
+
inkscape:zoom="8.0000002"
|
|
27
|
+
inkscape:cx="80.062498"
|
|
28
|
+
inkscape:cy="35.124999"
|
|
29
|
+
inkscape:document-units="px"
|
|
30
|
+
inkscape:current-layer="g3204"
|
|
31
|
+
showgrid="false"
|
|
32
|
+
inkscape:window-width="1920"
|
|
33
|
+
inkscape:window-height="1043"
|
|
34
|
+
inkscape:window-x="3840"
|
|
35
|
+
inkscape:window-y="0"
|
|
36
|
+
inkscape:window-maximized="1"
|
|
37
|
+
fit-margin-top="0"
|
|
38
|
+
fit-margin-left="0"
|
|
39
|
+
fit-margin-right="0"
|
|
40
|
+
fit-margin-bottom="0"
|
|
41
|
+
inkscape:pagecheckerboard="0" />
|
|
42
|
+
<defs
|
|
43
|
+
id="defs4" />
|
|
44
|
+
<metadata
|
|
45
|
+
id="metadata7">
|
|
46
|
+
<rdf:RDF>
|
|
47
|
+
<cc:Work
|
|
48
|
+
rdf:about="">
|
|
49
|
+
<dc:format>image/svg+xml</dc:format>
|
|
50
|
+
<dc:type
|
|
51
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
52
|
+
</cc:Work>
|
|
53
|
+
</rdf:RDF>
|
|
54
|
+
</metadata>
|
|
55
|
+
<g
|
|
56
|
+
id="layer1"
|
|
57
|
+
inkscape:groupmode="layer"
|
|
58
|
+
inkscape:label="Calque 1"
|
|
59
|
+
transform="translate(-652.16001,-520.35823)">
|
|
60
|
+
<g
|
|
61
|
+
id="g3204">
|
|
62
|
+
<path
|
|
63
|
+
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.142;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
64
|
+
d="M 688.35582,521.06357 H 668.1954 l 16.84981,34.40439 14.14623,-33.14832 0.39929,-0.93565 -0.092,-0.13069"
|
|
65
|
+
id="path4785"
|
|
66
|
+
inkscape:connector-curvature="0"
|
|
67
|
+
sodipodi:nodetypes="cccccc" />
|
|
68
|
+
<path
|
|
69
|
+
sodipodi:nodetypes="ccc"
|
|
70
|
+
inkscape:connector-curvature="0"
|
|
71
|
+
id="path4787"
|
|
72
|
+
d="m 668.1954,521.06357 -15.46442,34.40439 h 32.31423"
|
|
73
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.142;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
|
|
74
|
+
<path
|
|
75
|
+
sodipodi:nodetypes="ccc"
|
|
76
|
+
inkscape:connector-curvature="0"
|
|
77
|
+
id="path4787-6"
|
|
78
|
+
d="m 685.18809,555.39761 15.32126,-34.46838 -32.31395,0.13434"
|
|
79
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.142;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
|
|
80
|
+
<path
|
|
81
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.267847;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
|
82
|
+
d="m 656.09946,553.23887 c 0.0205,-0.0535 2.76921,-6.17511 6.10814,-13.60347 l 6.0708,-13.50613 6.65178,13.57942 c 3.65848,7.46867 6.65178,13.59024 6.65178,13.60347 0,0.0132 -5.74197,0.0241 -12.75993,0.0241 -11.47064,0 -12.75616,-0.01 -12.72257,-0.0974 z"
|
|
83
|
+
id="path4789"
|
|
84
|
+
inkscape:connector-curvature="0" />
|
|
85
|
+
<path
|
|
86
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.267847;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
|
87
|
+
d="m 696.62897,522.83417 c -0.0205,0.0536 -2.7537,6.18204 -6.07396,13.61876 l -6.03688,13.52133 -6.68585,-13.56268 c -3.67723,-7.45946 -6.68588,-13.57349 -6.68591,-13.58672 -4e-5,-0.0132 5.74188,-0.0384 12.75982,-0.0557 11.4706,-0.0288 12.75615,-0.022 12.72278,0.0655 z"
|
|
88
|
+
id="path4789-3"
|
|
89
|
+
inkscape:connector-curvature="0" />
|
|
90
|
+
</g>
|
|
91
|
+
</g>
|
|
92
|
+
</svg>
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<v-menu
|
|
3
|
+
v-model="show_menu"
|
|
4
|
+
content-class="circular-menu"
|
|
5
|
+
:style="getMenuStyle()"
|
|
6
|
+
>
|
|
7
|
+
<div
|
|
8
|
+
class="circular-menu-items"
|
|
9
|
+
:style="{ width: `${radius * 2}px`, height: `${radius * 2}px` }"
|
|
10
|
+
>
|
|
11
|
+
<component
|
|
12
|
+
v-for="(item, index) in menu_items"
|
|
13
|
+
:is="item"
|
|
14
|
+
:key="index"
|
|
15
|
+
:itemProps="{
|
|
16
|
+
id: props.id,
|
|
17
|
+
tooltip_location: getTooltipLocation(index),
|
|
18
|
+
tooltip_origin: getTooltipOrigin(index),
|
|
19
|
+
}"
|
|
20
|
+
class="menu-item-wrapper"
|
|
21
|
+
:style="getItemStyle(index)"
|
|
22
|
+
/>
|
|
23
|
+
</div>
|
|
24
|
+
</v-menu>
|
|
25
|
+
</template>
|
|
26
|
+
|
|
27
|
+
<script setup>
|
|
28
|
+
const menuStore = useMenuStore()
|
|
29
|
+
const dataBaseStore = useDataBaseStore()
|
|
30
|
+
|
|
31
|
+
const props = defineProps({
|
|
32
|
+
id: { type: String, required: true },
|
|
33
|
+
x: { type: Number, required: true },
|
|
34
|
+
y: { type: Number, required: true },
|
|
35
|
+
containerWidth: { type: Number, required: true },
|
|
36
|
+
containerHeight: { type: Number, required: true },
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
const meta_data = computed(() => {
|
|
40
|
+
const itemId = props.id || menuStore.current_id
|
|
41
|
+
return itemId ? dataBaseStore.itemMetaDatas(itemId) : {}
|
|
42
|
+
})
|
|
43
|
+
const radius = 80
|
|
44
|
+
const show_menu = ref(true)
|
|
45
|
+
|
|
46
|
+
watch(show_menu, (value) => {
|
|
47
|
+
if (!value) {
|
|
48
|
+
menuStore.closeMenu()
|
|
49
|
+
}
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
const menu_items = computed(() =>
|
|
53
|
+
menuStore.getMenuItems(
|
|
54
|
+
meta_data.value.object_type,
|
|
55
|
+
meta_data.value.geode_object,
|
|
56
|
+
),
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
const menuItemCount = computed(() => menu_items.value.length)
|
|
60
|
+
|
|
61
|
+
function getMenuStyle() {
|
|
62
|
+
const x = props.x || menuStore.menuX
|
|
63
|
+
const y = props.y || menuStore.menuY
|
|
64
|
+
const width = props.containerWidth || menuStore.containerWidth
|
|
65
|
+
const height = props.containerHeight || menuStore.containerHeight
|
|
66
|
+
|
|
67
|
+
const adjustedX = Math.min(Math.max(x, radius), width - radius)
|
|
68
|
+
const adjustedY = Math.min(Math.max(y, radius), height - radius)
|
|
69
|
+
|
|
70
|
+
return {
|
|
71
|
+
left: `${adjustedX - radius}px`,
|
|
72
|
+
top: `${adjustedY - radius}px`,
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function getTooltipLocation(index) {
|
|
77
|
+
const angle = (index / menuItemCount.value) * 360
|
|
78
|
+
if (angle < 45 || angle >= 315) return "right"
|
|
79
|
+
if (angle >= 45 && angle < 135) return "top"
|
|
80
|
+
if (angle >= 135 && angle < 225) return "left"
|
|
81
|
+
return "bottom"
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function getTooltipOrigin(index) {
|
|
85
|
+
const angle = (index / menuItemCount.value) * 360
|
|
86
|
+
if (angle < 45 || angle >= 315) return "left"
|
|
87
|
+
if (angle >= 45 && angle < 135) return "bottom"
|
|
88
|
+
if (angle >= 135 && angle < 225) return "right"
|
|
89
|
+
return "top"
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
function getItemStyle(index) {
|
|
93
|
+
const angle = (index / menuItemCount.value) * 2 * Math.PI
|
|
94
|
+
return {
|
|
95
|
+
transform: `translate(${Math.cos(angle) * radius}px, ${
|
|
96
|
+
Math.sin(angle) * radius
|
|
97
|
+
}px)`,
|
|
98
|
+
transition: "opacity 0.1s ease, transform 0.1s ease",
|
|
99
|
+
position: "absolute",
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
</script>
|
|
103
|
+
|
|
104
|
+
<style scoped>
|
|
105
|
+
.circular-menu {
|
|
106
|
+
position: absolute;
|
|
107
|
+
border-radius: 50%;
|
|
108
|
+
background-color: rgba(0, 0, 0, 0.8);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.circular-menu-items {
|
|
112
|
+
position: relative;
|
|
113
|
+
display: flex;
|
|
114
|
+
align-items: center;
|
|
115
|
+
justify-content: center;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.menu-item-wrapper {
|
|
119
|
+
position: absolute;
|
|
120
|
+
transform-origin: center;
|
|
121
|
+
will-change: transform, opacity;
|
|
122
|
+
}
|
|
123
|
+
</style>
|