Welcome to yEd Q&A!
Here you can ask questions and receive answers from other members of the community and yEd developers. And you can tell us your most wanted feature requests.


Cross over of edges

0 votes

Hi Thomas

Sorry I should have spent more time looking for a way to attach a file. The first attachment is a screen copy of the problem. 

Screen shot of crossover problem

The second attachment is the file that I am using.  I am using Linux mint (latest version)  I am creating the tree in excel.

Family Tree

I assume that you can see 2 sheets on the excel file.  The full tree is what I am working on, when I saw the problem I tried to see if the problem was still there so I created a tree with only 7 nodes, the same problem exists.

I can solve it by changing the order of the nodes in then excel file but that is not a good solution as every time I update the tree with new members the layout changes.

In layout - family tree - layouter - layout I have selected "do not sort" for family members and on the full tree I see it varies between Male to the left and female to the left.  Yet in some cases it puts them in an order resulting in the nodes crossing over.


in Help by

1 Answer

0 votes
Thank you very much for the sample data. I have added a corresponding ticket in our internal issue tracking system. I cannot promise when or even if we will be able to improve on this issue, though.

That said, I agree that the crossing should not occur for the small test case. However, the algorithm does not guarantee an optimal result in the general case. Determining the optimal solution to the "edge crossing" problem is a computationally hard problem, i.e. this is a well-known problem in the field of computer science for which no efficient solution exists. For this reason, the family tree layout uses an heuristic that may produce unnecessary crossings, but completes in an acceptable amount of time.

On a slightly unrelated note, for future questions please do not create a separate topic when uploading files but edit the original post or add an answer to the original post instead.
by [yWorks] (137k points)
Thanks Thomas, sorry about the double post and I appreciate the problem complexity v time .
Could I suggest that two tier computational constraint is used for the time taken to determine the optimal layout.  
For the drafting and development stage a quick response is pleasing but when the final tree is created I don't think that it would not be an issue to have an option that the program takes longer to consider the result or to have the ability to select a small zone of the tree and realign it automatically.
I don't mind moving a couple of nodes but the edges do not automatically realign to the shortest route often requiring deletion and manually inserting new edges (very time consuming)
regards  David
Thank you for your suggestions. I have added a corresponding feature request to our internal issue tracking system.
Legal Disclosure | Privacy Policy