[Uml-devel] [ uml-Bugs-633607 ] associations to same class cross

P. Fleury fleury at users.sourceforge.net
Mon Nov 11 20:24:02 UTC 2002


Hi Seb,

I just rebuilt the full Umbrello from CVS (2001/11/12) but the line 
crossing still occurs.
I have tried to look at the code, but the way the association end-points 
are computed is spread all over the place, and I did not get how it 
actually computes these. The behavior now seems to be slightly improved, 
but crossing still occurs.

I also understand that this is a non-trivial algorithm, as moving an 
object may change the location of arrows not only on the moved object, 
but also on the objects which are linked. This, in turn, may displace 
another link on that object, having further consequences on other 
association links which are now unrelated to the moving object. However, 
the impact is decreasing with each level.

I had actually filed the bug on the tracker, because I figured out that 
this bug would be non-trivial, and would go on for a while. Hence, the 
tracking...

--Pascal

Sebastian Stein wrote:

>noreply at sourceforge.net <noreply at sourceforge.net> [021105 07:04]:
>  
>
>>Bugs item #633607, was opened at 2002-11-05 11:54
>>...
>>Initial Comment:
>>When there are multiple associations to a
>>class/state/object, the arrows cross each other as
>>their ordering along the obrder of the object are not
>>relative to their origin. 
>>In some cases, diagrams get hard to read. Attached file
>>shows two samples of the unnecessary crossing, made on
>>RedHat 7.3 with CVS from 2002/11/05 code.
>>    
>>
>
>I fixed the bug. The problem was, that the function getDiagrammRect() didn't
>looked at associations to find a rect around all objects. I added a function
>to class AssociationWidget to return a rectangle around one association.
>
>I also liked to take the line's width into calculation. So I'm using the
>width of the association's pen. Unfortunally this allways returns a width of
>0. So I have decided that a line must be at least 1 pixel in width.
>
>Please give it a try and maybe you can solve the problem with the pen/line
>width.
>
>Steinchen
>
>PS to Joerg Walter: Could you please test the code as well, because you
>submitted the bug report. Unfortunally you would have to compile Umbrello by
>yourself. Get the code from CVS.
>
>PS to all: I've closed bug report #626966 (moving all objects), because no
>one stood up to fight against my submitted code ;-)
>  
>







More information about the umbrello-devel mailing list