Class Configuration
Inheritance
Inherited Members
Namespace: NodeNetwork.Toolkit.Layout.ForceDirected
Assembly: NodeNetworkToolkit.dll
Syntax
public class Configuration
Properties
| Improve this Doc View SourceEquilibriumDistance
A function that maps each connection onto the equilibrium distance of its corresponding spring. A greater equilibrium distance increases the distance between the two connected endpoints.
Declaration
public Func<ConnectionViewModel, double> EquilibriumDistance { get; set; }
Property Value
Type | Description |
---|---|
System.Func<ConnectionViewModel, System.Double> |
FrictionCoefficient
The friction coefficient is used to control friction forces in the simulation. Greater friction makes the simulation converge faster, as it slows nodes down when they are swinging around. If the friction is too high, the nodes will stop moving before they reach their optimal position or might not even move at all.
Declaration
public Func<NodeViewModel, float> FrictionCoefficient { get; set; }
Property Value
Type | Description |
---|---|
System.Func<NodeViewModel, System.Single> |
IsFixedNode
A predicate function that specifies whether or not a node is fixed. Fixed nodes do not get moved in the simulation.
Declaration
public Func<NodeViewModel, bool> IsFixedNode { get; set; }
Property Value
Type | Description |
---|---|
System.Func<NodeViewModel, System.Boolean> |
Network
The network whose nodes are to be repositioned.
Declaration
public NetworkViewModel Network { get; set; }
Property Value
Type | Description |
---|---|
NetworkViewModel |
NodeMass
A function that maps each node onto its mass in the physics simulation. Greater mass makes the node harder to move.
Declaration
public Func<NodeViewModel, float> NodeMass { get; set; }
Property Value
Type | Description |
---|---|
System.Func<NodeViewModel, System.Single> |
NodeRepulsionForce
How strongly should nodes push eachother away? A greater NodeRepulsionForce increases the distance between nodes.
Declaration
public float NodeRepulsionForce { get; set; }
Property Value
Type | Description |
---|---|
System.Single |
RowForce
A function that maps each connection onto the strength of its row force. Since inputs/outputs are on the left/right of a node, networks tend to be layed out horizontally. The row force is added onto the endpoints of the connection to make the nodes end up in a more horizontal layout.
Declaration
public Func<ConnectionViewModel, double> RowForce { get; set; }
Property Value
Type | Description |
---|---|
System.Func<ConnectionViewModel, System.Double> |
SpringConstant
A function that maps each connection onto the springiness/stiffness constant of its corresponding spring. (c.f. Hooke's law)
Declaration
public Func<ConnectionViewModel, double> SpringConstant { get; set; }
Property Value
Type | Description |
---|---|
System.Func<ConnectionViewModel, System.Double> |
TimeModifier
A time modifier that is used to speed up, or slow down, time during the simulation. A greater time modifier speeds up the physics simulation, at the cost of accuracy and stability.
Declaration
public float TimeModifier { get; set; }
Property Value
Type | Description |
---|---|
System.Single |
UpdatesPerIteration
Number of updates per iteration. Increasing this number increases the accuracy of the physics simulation at the cost of performance.
Declaration
public int UpdatesPerIteration { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |