问题描述
我有一个用例图,其中包含一个参与者和一个用例,并且两者之间存在关联。我想在图表上获取关联的源和目标位置。我尝试在 PDATA5
表的 t_connector
列中考虑连接器的 SX,SY,EX,EY 点,但对于大多数连接器没有意义,因为它们在大多数情况下为 0 .
有没有其他方法可以得到图中连接器的位置?
解决方法
嗯,这很复杂。 EA 在内部呈现连接器。在您的情况下,您有一个简单的渲染。所以 EA 所做的就是通过查看图表上的元素位置(通过 t_diagramobjects
)来找到两个相连元素的中心。您可能知道,EA 将所有元素视为矩形。用例和演员一样。这就是为什么连接器不连接到可见边框而是围绕不可见框架旋转的原因。现在计算几何中心和这些框架的附件(这是简单的几何)。
您还需要查看连接器的 t_diagramlinks
,但前提是您移动连接点或引入弯曲。当然,如果你有特殊的渲染(比如树样式,它会产生完全不同的东西,你不能重新计算(简单))。 geometry
将说明如何进行转变。而 path
显示了弯曲。如果您设置了标准的自定义线,则再次只是简单的几何图形。对于其他所有线条样式:你最好不要问。
从数据库端: t_diagramlinks.geometry (SX,SY)(EX,EY)=(0,0)(0,0) - 可能是从对象中心到中心的线。 EDGE - 连接器从源对象开始的地方(1 上,2 右,3 下,4 左),t_diagramlinks.path - 附加断点等。