我正在尝试对应用程序的一部分进行逆向工程,该部分将用户创建的内容另存为一堆XML文件。该工具是可视工作流编辑器,用户可以在其中通过排列和连接可视块来创建工作流。示例“流”可能看起来像这样:
生成的xml,其中删除了一些数据
<?xml version="1.0" encoding="UTF-8"?>
<flow id="">
<steps>
<step id="">
<bounds>
<x>30.0</x>
<y>30.0</y>
</bounds>
<transitions>
<transition id="">
<positions>
<point>
<x>405.0</x>
<y>273.28205128205127</y>
</point>
<point>
<x>711.0</x>
<y>287.0</y>
</point>
</positions>
</transition>
</transitions>
</step>
<returnStep >
<bounds>
<x>180.0</x>
<y>30.0</y>
</bounds>
</flow>
transitions数组定义了如何呈现可视块之间的连接,但是我不明白它们的实际含义。如果我在一块空画布上绘制所有点,它们将如下所示:
黑点是块的坐标,红点是在某种程度上与连接块的线有关的坐标。
我的目标是阅读xml文件并在画布上显示工作流程,但我不了解过渡坐标如何映射到实际过渡线。
视觉编辑器支持将点添加到过渡线:
上述流程的过渡点列表
<positions>
<point>
<x>123.0</x>
<y>67.96052631578948</y>
</point>
<point>
<x>150.0</x>
<y>150.0</y>
</point>
<point>
<x>230.0</x>
<y>80.0</y>
</point>
</positions>
产生以下“情节”
我想也许它们是某些线条绘制功能的控制点,但是我对计算机图形学并不十分精通。任何帮助将不胜感激。