Adaptagrams
|
Provides a simple way to set any or all of the various optional arguments to libcola layout methods. More...
#include <graphs.h>
Public Attributes | |
double | idealEdgeLength = 0 |
bool | preventOverlaps = false |
Prevent overlaps between nodes? | |
bool | solidifyAlignedEdges = false |
EdgesById | solidEdgeExemptions |
Specify edges that should not be solidified. | |
bool | xAxis = true |
Work in the x-dimension? | |
bool | yAxis = true |
Work in the y-dimension? | |
bool | makeFeasible = false |
When using a ConstrainedFDLayout, do makeFeasible before running? | |
double | makeFeasible_xBorder = 0 |
bool | useNeighbourStress = false |
double | nbrStressIELScalar = 1/20.0 |
bool | useMajorization = false |
bool | useScaling = false |
If using a ConstrainedMajorizationLayout, say whether you want scaling. | |
cola::CompoundConstraints | ccs |
std::vector< NodesById > | nodeClusters |
Collection of Node lookups, in which to register clusters. | |
cola::EdgeLengths | eLengths = cola::StandardEdgeLengths |
Logger * | logger = nullptr |
Optional logger. | |
Provides a simple way to set any or all of the various optional arguments to libcola layout methods.
cola::CompoundConstraints dialect::ColaOptions::ccs |
Any /additional/ constraints in the form of cola::CompoundConstraints may be set here. Note that these are added to the constraints already recorded in the graph's SepMatrix.
Referenced by dialect::Graph::applyProjSeq(), and dialect::Graph::projectOntoSepCo().
cola::EdgeLengths dialect::ColaOptions::eLengths = cola::StandardEdgeLengths |
Just as with cola::ConstrainedFDLayout, you may set individual ideal edge lengths, as well as a custom convergence test, and a function to be called prior to each iteration.
double dialect::ColaOptions::idealEdgeLength = 0 |
Leave the ideal edge length set to zero if you want the Graph to automatically substitute its own ideal edge length.
Referenced by dialect::Graph::applyProjSeq().
double dialect::ColaOptions::makeFeasible_xBorder = 0 |
The CFDL makeFeasible operation allows you to set extra border thickness on rectangles in the x- and y-dimensions. You can set those values here.
double dialect::ColaOptions::nbrStressIELScalar = 1/20.0 |
Ordinarily we use neighbour stress in an attempt to make the layout more compact. In order to encourage this, we usually scale the IEL by a small fraction as well. The scalar can be set here.
bool dialect::ColaOptions::solidifyAlignedEdges = false |
Solidify aligned edges? When used in conjunction with the preventOverlaps option, this can prevent overlaps between nodes and aligned edges.
Referenced by dialect::Face::applyProjSeq(), dialect::doHOLA(), dialect::Graph::project(), and dialect::reattachTrees().
bool dialect::ColaOptions::useMajorization = false |
If you want to use a ConstrainedFDLayout, leave useMajorization false; if you want to use a ConstrainedMajorizationLayout, set it true.
Referenced by dialect::doHOLA().
bool dialect::ColaOptions::useNeighbourStress = false |
Use neighbour stress? If true this means that only those stress terms will be counted for pairs of nodes connected by an edge.
Referenced by dialect::doHOLA().