Wiki source code of KLay Force
Last modified by Richard Kreissig on 2023/09/14 10:17
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | Project Overview | ||
| 2 | |||
| 3 | Responsible: | ||
| 4 | |||
| 5 | * Christoph Daniel Schulze | ||
| 6 | |||
| 7 | |||
| 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. | ||
| 9 | |||
| 10 | This page describes the available layout options as well as the general architecture of the algorithm. | ||
| 11 | |||
| 12 | **Contents** | ||
| 13 | |||
| 14 | |||
| 15 | |||
| 16 | {{toc maxLevel="2"/}} | ||
| 17 | |||
| 18 | [[doc:KIELER.Downloads - KIELER Layout Algorithms]] | ||
| 19 | |||
| 20 | |||
| 21 | |||
| 22 | = Layout Options = | ||
| 23 | |||
| 24 | {{warning title="ToDo"}} | ||
| 25 | List available layout options. | ||
| 26 | {{/warning}} | ||
| 27 | |||
| 28 | = Architecture = | ||
| 29 | |||
| 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 | |||
| 40 | {{warning title="ToDo"}} | ||
| 41 | Describe architecture. | ||
| 42 | {{/warning}} | ||
| 43 |