Adaptagrams
Public Attributes | List of all members
dialect::ColaOptions Struct Reference

Provides a simple way to set any or all of the various optional arguments to libcola layout methods. More...

#include <graphs.h>

Collaboration diagram for dialect::ColaOptions:
Collaboration graph

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.
 

Detailed Description

Provides a simple way to set any or all of the various optional arguments to libcola layout methods.

Member Data Documentation

◆ ccs

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().

◆ eLengths

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.

◆ idealEdgeLength

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().

◆ makeFeasible_xBorder

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.

◆ nbrStressIELScalar

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.

◆ solidifyAlignedEdges

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().

◆ useMajorization

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().

◆ useNeighbourStress

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().


The documentation for this struct was generated from the following file: