Wiki source code of KLay Force
Last modified by Richard Kreissig on 2023/09/14 10:17
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
6.1 | 1 | Project Overview |
| 2 | |||
| |
1.1 | 3 | Responsible: |
| 4 | |||
| |
3.1 | 5 | * Christoph Daniel Schulze |
| |
1.1 | 6 | |
| |
6.1 | 7 | |
| |
3.1 | 8 | KLay Force is an implementation of the force-based layout approach where edges are regarded as springs pulling together the nodes they connect, while unconnected nodes are pushed apart from one another. The objective is to compute a state where this physical system reaches an equilibrium. |
| |
1.1 | 9 | |
| |
3.1 | 10 | This page describes the available layout options as well as the general architecture of the algorithm. |
| |
1.1 | 11 | |
| 12 | **Contents** | ||
| 13 | |||
| 14 | |||
| 15 | |||
| 16 | {{toc maxLevel="2"/}} | ||
| 17 | |||
| |
5.3 | 18 | [[doc:KIELER.Downloads - KIELER Layout Algorithms]] |
| |
1.1 | 19 | |
| 20 | |||
| |
6.1 | 21 | |
| |
3.1 | 22 | = Layout Options = |
| |
1.1 | 23 | |
| |
3.1 | 24 | {{warning title="ToDo"}} |
| 25 | List available layout options. | ||
| 26 | {{/warning}} | ||
| |
1.1 | 27 | |
| |
3.1 | 28 | = Architecture = |
| |
1.1 | 29 | |
| |
4.1 | 30 | The architecture basically consists of two chunks: the graph model and the actual implementation of the algorithm. |
| 31 | |||
| 32 | == Graph Model == | ||
| 33 | |||
| 34 | KLay Force uses a custom, lightweight graph model whose root is the {{code language="none"}}FGraph{{/code}} class. {{code language="none"}}FNode{{/code}} instances are connected through {{code language="none"}}FEdge{{/code}} instances that, to be routed properly, can have {{code language="none"}}FBendpoint{{/code}} instances. Edges and nodes can have a number of {{code language="none"}}FLabel{{/code}} instances. Nodes, labels, and bend points are considered {{code language="none"}}FParticle{{/code}}s since they exert forces on each other. The following is a class diagram of the basic graph model: | ||
| 35 | |||
| 36 | [[image:attach:KLayForce_Model.png]] | ||
| 37 | |||
| 38 | == Algorithm == | ||
| 39 | |||
| |
3.1 | 40 | {{warning title="ToDo"}} |
| 41 | Describe architecture. | ||
| 42 | {{/warning}} | ||
| |
1.1 | 43 | |
| 44 |