Skip to content

Commit

Permalink
add color for buttons
Browse files Browse the repository at this point in the history
  • Loading branch information
yilinxia committed Feb 7, 2025
1 parent 8f119b2 commit dd6df3b
Show file tree
Hide file tree
Showing 4 changed files with 72 additions and 137 deletions.
39 changes: 21 additions & 18 deletions src/callbacks.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@
from typing import List, Dict

import dash
from dash import html, callback, Input, Output, State, ALL, dcc, ctx
from dash import html, callback, Input, Output, State, ALL, ctx
from dash.exceptions import PreventUpdate
import dash_bootstrap_components as dbc
import dash_interactive_graphviz
import os
import subprocess
import time
Expand Down Expand Up @@ -72,9 +71,7 @@
from py_arg_visualisation.functions.graph_data_functions.get_af_dot_string import (
generate_plain_dot_string,
generate_dot_string,
)
from py_arg_visualisation.functions.graph_data_functions.get_af_graph_data import (
get_argumentation_framework_graph_data,
get_numbered_grounded_extension
)
from py_arg_visualisation.functions.import_functions.read_argumentation_framework_functions import (
read_argumentation_framework,
Expand Down Expand Up @@ -354,7 +351,9 @@ def create_abstract_argumentation_framework(
# Ensure function always returns three outputs
if triggered_id == "21-dot-download-button":
return (
dict(content=settings + "\n" + download_dot_source, filename="output.gv"),
dict(
content=settings + "\n" + download_dot_source, filename="output.gv"
),
dot_source,
selected_arguments_changed,
)
Expand Down Expand Up @@ -414,7 +413,7 @@ def download_generated_abstract_argumentation_framework(

@callback(
Output("21-abstract-evaluation-semantics", "children"),
Output("21-abstract-evaluation-accepted", "children"),
Output("21-abstract-evaluation-all-args", "children"),
State("abstract-arguments", "value"),
State("abstract-attacks", "value"),
Input("abstract-evaluation-accordion", "active_item"),
Expand Down Expand Up @@ -467,19 +466,23 @@ def evaluate_abstract_argumentation_framework(
id={"type": "extension-button-abstract", "index": extension_long_str},
)
)

# Compute accepted arguments
acceptance_strategy = get_acceptance_strategy(strategy)
accepted_arguments = get_accepted_arguments(frozen_extensions, acceptance_strategy)
gr_status_by_arg, number_by_argument = get_numbered_grounded_extension(arg_framework)

# Build accepted argument buttons
accepted_argument_buttons = [
all_argument_buttons = [
dbc.Button(
arg.name,
color="secondary",
id={"type": "argument-button-abstract", "index": arg.name},
arg,
color=(
"danger" if gr_status_by_arg[arg] == "defeated" else
"primary" if gr_status_by_arg[arg] == "accepted" else "warning"
),
id={"type": "argument-button-abstract", "index": arg},
style={"margin": "5px"} # Add margin to make buttons sparse
)
for arg in sorted(accepted_arguments)
for arg in sorted(arguments.split("\n"))
]

semantics_div = html.Div(
Expand All @@ -491,16 +494,16 @@ def evaluate_abstract_argumentation_framework(
html.Br(),
]
)
accepted_div = html.Div(
arguments_div = html.Div(
[
html.B("The accepted argument(s):"),
html.B("All argument(s):"),
html.Br(),
html.I("Click on an argument to display it in the graph."),
html.Div(accepted_argument_buttons),
html.Div(all_argument_buttons),
]
)

return semantics_div, accepted_div
return semantics_div, arguments_div


@callback(
Expand Down Expand Up @@ -533,7 +536,7 @@ def mark_extension_or_argument_in_graph(
"red": out_part.split("+") if out_part else [],
}
elif button_type == "argument-button-abstract":
return {"blue": [button_index]}
return {"red": [button_index]}

return []

Expand Down
7 changes: 3 additions & 4 deletions src/layout.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
import dash_bootstrap_components as dbc
from dash import html, dcc
import dash_interactive_graphviz
import visdcc
import os
import dash_daq as daq


Expand Down Expand Up @@ -134,7 +132,7 @@ def get_abstract_evaluation_div():
),
]
),
dbc.Row(id="21-abstract-evaluation-semantics"),

dbc.Row(
[
dbc.Col(html.B("Evaluation strategy")),
Expand All @@ -150,7 +148,8 @@ def get_abstract_evaluation_div():
),
]
),
dbc.Row(id="21-abstract-evaluation-accepted"),
dbc.Row(id="21-abstract-evaluation-semantics"),
dbc.Row(id="21-abstract-evaluation-all-args"),
]
),
]
Expand Down
82 changes: 24 additions & 58 deletions temp/layout.dot
Original file line number Diff line number Diff line change
@@ -1,64 +1,30 @@
digraph {
graph[layout=neato overlap=false]
layout=dot
node [fontname = "helvetica" shape=circle fixedsize=true width=0.8, height=0.8]
edge [fontname = "helvetica"]
rankdir=BT // Node defaults can be set here if needed
"A" [style="filled" fillcolor="#40cfff" label="A.2" fontsize=14 pos="7.3889,3.0139!"]
"F" [style="filled" fillcolor="#40cfff" label="F.4" fontsize=14 pos="4.625,5.625!"]
"K" [style="filled" fillcolor="#40cfff" label="K.0" fontsize=14 pos="1.4583,0.40278!"]
"L" [style="filled" fillcolor="#40cfff" label="L.0" fontsize=14 pos="0.40278,0.40278!"]
"Q" [style="filled" fillcolor="#40cfff" label="Q.0" fontsize=14 pos="4.625,0.40278!"]
"T" [style="filled" fillcolor="#40cfff" label="T.2" fontsize=14 pos="5.8056,3.0139!"]
"V" [style="filled" fillcolor="#40cfff" label="V.0" fontsize=14 pos="6.7361,0.40278!"]
"W" [style="filled" fillcolor="#40cfff" label="W.0" fontsize=14 pos="7.7917,0.40278!"]
"X" [style="filled" fillcolor="#40cfff" label="X.0" fontsize=14 pos="2.5139,0.40278!"]
"Y" [style="filled" fillcolor="#40cfff" label="Y.0" fontsize=14 pos="8.8472,0.40278!"]
"Z" [style="filled" fillcolor="#40cfff" label="Z.0" fontsize=14 pos="5.6806,0.40278!"]
"E" [style="filled" fillcolor="#FEFE62" label="E.∞" fontsize=14 pos="2.8472,5.625!"]
"J" [style="filled" fillcolor="#FEFE62" label="J.∞" fontsize=14 pos="1.125,6.9306!"]
"M" [style="filled" fillcolor="#FEFE62" label="M.∞" fontsize=14 pos="1.5278,4.3194!"]
"N" [style="filled" fillcolor="#FEFE62" label="N.∞" fontsize=14 pos="1.5278,5.625!"]
"O" [style="filled" fillcolor="#FEFE62" label="O.∞" fontsize=14 pos="1.5278,3.0139!"]
"B" [style="filled" fillcolor="#ffb763" label="B.1" fontsize=14 pos="7.7917,1.7083!"]
"C" [style="filled" fillcolor="#ffb763" label="C.1" fontsize=14 pos="5.6806,1.7083!"]
"D" [style="filled" fillcolor="#ffb763" label="D.1" fontsize=14 pos="2.5139,1.7083!"]
"G" [style="filled" fillcolor="#ffb763" label="G.1" fontsize=14 pos="3.5694,1.7083!"]
"H" [style="filled" fillcolor="#ffb763" label="H.1" fontsize=14 pos="4.625,1.7083!"]
"I" [style="filled" fillcolor="#ffb763" label="I.1" fontsize=14 pos="1.4583,1.7083!"]
"S" [style="filled" fillcolor="#ffb763" label="S.3" fontsize=14 pos="3.7639,4.3194!"]
"U" [style="filled" fillcolor="#ffb763" label="U.1" fontsize=14 pos="6.7361,1.7083!"]
"A1" [style="filled" fillcolor="#40cfff" label="A1.0" fontsize=14 ]
"A2" [style="filled" fillcolor="#40cfff" label="A2.0" fontsize=14 ]
"C1" [style="filled" fillcolor="#40cfff" label="C1.2" fontsize=14 ]
"C2" [style="filled" fillcolor="#40cfff" label="C2.2" fontsize=14 ]
"E" [style="filled" fillcolor="#40cfff" label="E.4" fontsize=14 ]
"X" [style="filled" fillcolor="#FEFE62" label="X.∞" fontsize=14 ]
"Y" [style="filled" fillcolor="#FEFE62" label="Y.∞" fontsize=14 ]
"B1" [style="filled" fillcolor="#ffb763" label="B1.1" fontsize=14 ]
"B2" [style="filled" fillcolor="#ffb763" label="B2.1" fontsize=14 ]
"D" [style="filled" fillcolor="#ffb763" label="D.3" fontsize=14 ]
"F" [style="filled" fillcolor="#ffb763" label="F.5" fontsize=14 ]
edge[labeldistance=1.5 fontsize=12]
"B" -> "A" [color="#ffb763" style="solid"fontcolor="#ffb763"arrowtail="vee"arrowhead="vee"taillabel="2"]
"B" -> "T" [color="#ffb763" style="solid"fontcolor="#ffb763"arrowtail="vee"arrowhead="vee"taillabel="2"]
"C" -> "B" [color="#919191" style="dotted"fontcolor="#919191"arrowtail="onormal"arrowhead="onormal"taillabel=""]
"D" -> "C" [color="#919191" style="dotted"fontcolor="#919191"arrowtail="onormal"arrowhead="onormal"taillabel=""]
"B" -> "E" [dir=back color="#919191" style= "dotted"fontcolor="#919191"arrowtail="onormal"arrowhead="onormal"headlabel=""]
"D" -> "E" [dir=back color="#919191" style= "dotted"fontcolor="#919191"arrowtail="onormal"arrowhead="onormal"headlabel=""]
"B" -> "F" [dir=back color="#40cfff" style= "dashed"fontcolor="#40cfff"arrowtail="vee"arrowhead="vee"headlabel="5"]
"G" -> "S" [color="#919191" style="dotted"fontcolor="#919191"arrowtail="onormal"arrowhead="onormal"taillabel=""]
"H" -> "F" [color="#ffb763" style="solid"fontcolor="#ffb763"arrowtail="vee"arrowhead="vee"taillabel="2"]
"I" -> "E" [color="#919191" style="dotted"fontcolor="#919191"arrowtail="onormal"arrowhead="onormal"taillabel=""]
"I" -> "J" [dir=back color="#919191" style= "dotted"fontcolor="#919191"arrowtail="onormal"arrowhead="onormal"headlabel=""]
"K" -> "I" [color="#40cfff" style="solid"fontcolor="#40cfff"arrowtail="vee"arrowhead="vee"taillabel="1"]
"L" -> "I" [color="#40cfff" style="solid"fontcolor="#40cfff"arrowtail="vee"arrowhead="vee"taillabel="1"]
"M" -> "E" [color="#f1dd4b" style="solid"fontcolor="#f1dd4b"arrowtail="vee"arrowhead="vee"taillabel=""]
"M" -> "O" [color="#f1dd4b" style="solid"fontcolor="#f1dd4b"arrowtail="vee"arrowhead="vee"taillabel=""]
"M" -> "N" [color="#f1dd4b" style="solid"fontcolor="#f1dd4b"arrowtail="vee"arrowhead="vee"taillabel=""]
"N" -> "J" [color="#f1dd4b" style="solid"fontcolor="#f1dd4b"arrowtail="vee"arrowhead="vee"taillabel=""]
"I" -> "O" [dir=back color="#919191" style= "dotted"fontcolor="#919191"arrowtail="onormal"arrowhead="onormal"headlabel=""]
"O" -> "M" [color="#f1dd4b" style="solid"fontcolor="#f1dd4b"arrowtail="vee"arrowhead="vee"taillabel=""]
"Q" -> "G" [color="#40cfff" style="solid"fontcolor="#40cfff"arrowtail="vee"arrowhead="vee"taillabel="1"]
"Q" -> "H" [color="#40cfff" style="solid"fontcolor="#40cfff"arrowtail="vee"arrowhead="vee"taillabel="1"]
"Q" -> "C" [color="#40cfff" style="solid"fontcolor="#40cfff"arrowtail="vee"arrowhead="vee"taillabel="1"]
"S" -> "E" [color="#919191" style="dotted"fontcolor="#919191"arrowtail="onormal"arrowhead="onormal"taillabel=""]
"S" -> "F" [color="#ffb763" style="solid"fontcolor="#ffb763"arrowtail="vee"arrowhead="vee"taillabel="4"]
"T" -> "S" [color="#40cfff" style="solid"fontcolor="#40cfff"arrowtail="vee"arrowhead="vee"taillabel="3"]
"U" -> "T" [color="#ffb763" style="solid"fontcolor="#ffb763"arrowtail="vee"arrowhead="vee"taillabel="2"]
"V" -> "B" [color="#40cfff" style="solid"fontcolor="#40cfff"arrowtail="vee"arrowhead="vee"taillabel="1"]
"V" -> "U" [color="#40cfff" style="solid"fontcolor="#40cfff"arrowtail="vee"arrowhead="vee"taillabel="1"]
"W" -> "B" [color="#40cfff" style="solid"fontcolor="#40cfff"arrowtail="vee"arrowhead="vee"taillabel="1"]
"X" -> "D" [color="#40cfff" style="solid"fontcolor="#40cfff"arrowtail="vee"arrowhead="vee"taillabel="1"]
"Y" -> "B" [color="#40cfff" style="solid"fontcolor="#40cfff"arrowtail="vee"arrowhead="vee"taillabel="1"]
"Z" -> "C" [color="#40cfff" style="solid"fontcolor="#40cfff"arrowtail="vee"arrowhead="vee"taillabel="1"]
{rank = min K L Q V W X Y Z}
"A1" -> "B1" [color="#40cfff" style="solid"fontcolor="#40cfff"arrowtail="vee"arrowhead="vee"taillabel="1"]
"B1" -> "C1" [color="#ffb763" style="solid"fontcolor="#ffb763"arrowtail="vee"arrowhead="vee"taillabel="2"]
"C1" -> "D" [color="#40cfff" style="solid"fontcolor="#40cfff"arrowtail="vee"arrowhead="vee"taillabel="3"]
"A2" -> "B2" [color="#40cfff" style="solid"fontcolor="#40cfff"arrowtail="vee"arrowhead="vee"taillabel="1"]
"B2" -> "C2" [color="#ffb763" style="solid"fontcolor="#ffb763"arrowtail="vee"arrowhead="vee"taillabel="2"]
"C2" -> "D" [color="#40cfff" style="solid"fontcolor="#40cfff"arrowtail="vee"arrowhead="vee"taillabel="3"]
"D" -> "E" [color="#ffb763" style="solid"fontcolor="#ffb763"arrowtail="vee"arrowhead="vee"taillabel="4"]
"E" -> "F" [color="#40cfff" style="solid"fontcolor="#40cfff"arrowtail="vee"arrowhead="vee"taillabel="5"]
"F" -> "X" [color="#919191" style="dotted"fontcolor="#919191"arrowtail="onormal"arrowhead="onormal"taillabel=""]
"F" -> "Y" [color="#919191" style="dotted"fontcolor="#919191"arrowtail="onormal"arrowhead="onormal"taillabel=""]
"X" -> "Y" [color="#f1dd4b" style="solid"fontcolor="#f1dd4b"arrowtail="vee"arrowhead="vee"taillabel=""]
"Y" -> "X" [color="#f1dd4b" style="solid"fontcolor="#f1dd4b"arrowtail="vee"arrowhead="vee"taillabel=""]
}
81 changes: 24 additions & 57 deletions temp/layout.txt
Original file line number Diff line number Diff line change
@@ -1,58 +1,25 @@
graph 1 8.14 6.4753
node A 6.4706 2.6707 0.80556 0.80556 "A.2" filled circle black #40cfff
node F 4.07 4.9386 0.80556 0.80556 "F.4" filled circle black #40cfff
node K 1.3196 0.40278 0.80556 0.80556 "K.0" filled circle black #40cfff
node L 0.40278 0.40278 0.80556 0.80556 "L.0" filled circle black #40cfff
node Q 4.07 0.40278 0.80556 0.80556 "Q.0" filled circle black #40cfff
node T 5.0954 2.6707 0.80556 0.80556 "T.2" filled circle black #40cfff
node V 5.9036 0.40278 0.80556 0.80556 "V.0" filled circle black #40cfff
node W 6.8205 0.40278 0.80556 0.80556 "W.0" filled circle black #40cfff
node X 2.2364 0.40278 0.80556 0.80556 "X.0" filled circle black #40cfff
node Y 7.7372 0.40278 0.80556 0.80556 "Y.0" filled circle black #40cfff
node Z 4.9868 0.40278 0.80556 0.80556 "Z.0" filled circle black #40cfff
node E 2.5259 4.9386 0.80556 0.80556 "E.∞" filled circle black #FEFE62
node J 1.0301 6.0725 0.80556 0.80556 "J.∞" filled circle black #FEFE62
node M 1.3799 3.8046 0.80556 0.80556 "M.∞" filled circle black #FEFE62
node N 1.3799 4.9386 0.80556 0.80556 "N.∞" filled circle black #FEFE62
node O 1.3799 2.6707 0.80556 0.80556 "O.∞" filled circle black #FEFE62
node B 6.8205 1.5367 0.80556 0.80556 "B.1" filled circle black #ffb763
node C 4.9868 1.5367 0.80556 0.80556 "C.1" filled circle black #ffb763
node D 2.2364 1.5367 0.80556 0.80556 "D.1" filled circle black #ffb763
node G 3.1532 1.5367 0.80556 0.80556 "G.1" filled circle black #ffb763
node H 4.07 1.5367 0.80556 0.80556 "H.1" filled circle black #ffb763
node I 1.3196 1.5367 0.80556 0.80556 "I.1" filled circle black #ffb763
node S 3.3221 3.8046 0.80556 0.80556 "S.3" filled circle black #ffb763
node U 5.9036 1.5367 0.80556 0.80556 "U.1" filled circle black #ffb763
edge K I 4 1.3196 0.80575 1.3196 0.86519 1.3196 0.92726 1.3196 0.98902 solid #40cfff
edge L I 4 0.65815 0.71864 0.7565 0.84028 0.87047 0.98124 0.97581 1.1115 solid #40cfff
edge Q C 4 4.3254 0.71864 4.4237 0.84028 4.5377 0.98124 4.6431 1.1115 solid #40cfff
edge Q G 4 3.8146 0.71864 3.7163 0.84028 3.6023 0.98124 3.4969 1.1115 solid #40cfff
edge Q H 4 4.07 0.80575 4.07 0.86519 4.07 0.92726 4.07 0.98902 solid #40cfff
edge T S 4 4.7535 2.8893 4.4775 3.0658 4.0866 3.3158 3.7829 3.5099 solid #40cfff
edge V B 4 6.159 0.71864 6.2574 0.84028 6.3713 0.98124 6.4767 1.1115 solid #40cfff
edge V U 4 5.9036 0.80575 5.9036 0.86519 5.9036 0.92726 5.9036 0.98902 solid #40cfff
edge W B 4 6.8205 0.80575 6.8205 0.86519 6.8205 0.92726 6.8205 0.98902 solid #40cfff
edge X D 4 2.2364 0.80575 2.2364 0.86519 2.2364 0.92726 2.2364 0.98902 solid #40cfff
edge Y B 4 7.4818 0.71864 7.3835 0.84028 7.2695 0.98124 7.1642 1.1115 solid #40cfff
edge Z C 4 4.9868 0.80575 4.9868 0.86519 4.9868 0.92726 4.9868 0.98902 solid #40cfff
edge M E 4 1.6691 4.0907 1.8102 4.2304 1.9821 4.4005 2.1348 4.5516 solid #f1dd4b
edge M N 4 1.3799 4.2076 1.3799 4.267 1.3799 4.3291 1.3799 4.3909 solid #f1dd4b
edge M O 4 1.4698 3.408 1.4728 3.3437 1.4741 3.2763 1.4736 3.2094 solid #f1dd4b
edge N J 4 1.2595 5.3288 1.2373 5.4009 1.2137 5.4772 1.1905 5.5524 solid #f1dd4b
edge O M 4 1.29 3.0673 1.287 3.1315 1.2858 3.199 1.2863 3.2659 solid #f1dd4b
edge B A 4 6.7001 1.9269 6.6778 1.999 6.6543 2.0753 6.6311 2.1505 solid #ffb763
edge B F 4 6.4786 1.9596 5.9202 2.6502 4.825 4.0047 4.3272 4.6204 dashed #40cfff
edge B T 4 6.4838 1.758 6.2195 1.9317 5.8488 2.1754 5.5569 2.3673 solid #ffb763
edge B E 4 6.3954 1.8734 5.5346 2.5552 3.6027 4.0856 2.8421 4.688 dotted #919191
edge C B 4 5.3938 1.5367 5.6525 1.5367 5.9907 1.5367 6.2729 1.5367 dotted #919191
edge D E 4 2.2825 2.0787 2.3408 2.763 2.4396 3.9246 2.4916 4.5355 dotted #919191
edge D C 4 2.6422 1.5367 3.1189 1.5367 3.9118 1.5367 4.4418 1.5367 dotted #919191
edge G S 4 3.1834 1.9421 3.2107 2.3098 3.2513 2.8546 3.2815 3.2601 dotted #919191
edge H F 4 4.07 1.9403 4.07 2.5503 4.07 3.7082 4.07 4.3928 solid #ffb763
edge I E 4 1.4556 1.9203 1.6729 2.5332 2.0987 3.734 2.3427 4.4218 dotted #919191
edge I J 4 1.285 2.0786 1.2263 2.9983 1.1084 4.8447 1.0561 5.6644 dotted #919191
edge I O 4 1.3486 2.0818 1.3519 2.1435 1.3552 2.2056 1.3583 2.2652 dotted #919191
edge S F 4 3.5465 4.1448 3.616 4.2502 3.6938 4.3681 3.7677 4.4802 solid #ffb763
edge S E 4 3.0875 4.1387 3.0098 4.2494 2.9219 4.3745 2.8392 4.4923 dotted #919191
edge U T 4 5.6655 1.8708 5.5866 1.9815 5.4974 2.1066 5.4135 2.2244 solid #ffb763
graph 1 1.8611 9.9444
node A1 0.40278 0.40278 0.80556 0.80556 "A1.0" filled circle black #40cfff
node A2 1.4583 0.40278 0.80556 0.80556 "A2.0" filled circle black #40cfff
node C1 0.40278 3.0139 0.80556 0.80556 "C1.2" filled circle black #40cfff
node C2 1.4583 3.0139 0.80556 0.80556 "C2.2" filled circle black #40cfff
node E 0.93056 5.625 0.80556 0.80556 "E.4" filled circle black #40cfff
node X 0.54167 8.2361 0.80556 0.80556 "X.∞" filled circle black #FEFE62
node Y 0.54167 9.5417 0.80556 0.80556 "Y.∞" filled circle black #FEFE62
node B1 0.40278 1.7083 0.80556 0.80556 "B1.1" filled circle black #ffb763
node B2 1.4583 1.7083 0.80556 0.80556 "B2.1" filled circle black #ffb763
node D 0.93056 4.3194 0.80556 0.80556 "D.3" filled circle black #ffb763
node F 0.93056 6.9306 0.80556 0.80556 "F.5" filled circle black #ffb763
edge A1 B1 4 0.40278 0.80699 0.40278 0.91865 0.40278 1.0423 0.40278 1.161 solid #40cfff
edge A2 B2 4 1.4583 0.80699 1.4583 0.91865 1.4583 1.0423 1.4583 1.161 solid #40cfff
edge C1 D 4 0.55261 3.3905 0.60665 3.5214 0.66859 3.6713 0.72648 3.8115 solid #40cfff
edge C2 D 4 1.3085 3.3905 1.2545 3.5214 1.1925 3.6713 1.1346 3.8115 solid #40cfff
edge E F 4 0.93056 6.0292 0.93056 6.1409 0.93056 6.2645 0.93056 6.3832 solid #40cfff
edge X Y 4 0.45493 8.6334 0.4482 8.7496 0.44632 8.8794 0.44926 9.0032 solid #f1dd4b
edge Y X 4 0.62839 9.1447 0.63512 9.0285 0.63702 8.8987 0.63408 8.7749 solid #f1dd4b
edge B1 C1 4 0.40278 2.1125 0.40278 2.2242 0.40278 2.3479 0.40278 2.4665 solid #ffb763
edge B2 C2 4 1.4583 2.1125 1.4583 2.2242 1.4583 2.3479 1.4583 2.4665 solid #ffb763
edge D E 4 0.93056 4.7237 0.93056 4.8353 0.93056 4.959 0.93056 5.0776 solid #ffb763
edge F X 4 0.81598 7.3209 0.7784 7.4444 0.736 7.5837 0.69597 7.7152 dotted #919191
edge F Y 7 1.0349 7.3216 1.1141 7.6696 1.1906 8.1977 1.0694 8.6389 1.0254 8.7995 0.94386 8.9605 0.85788 9.1005 dotted #919191
stop

0 comments on commit dd6df3b

Please sign in to comment.