Adaptagrams
|
This class can be passed to libavoid to extend it to provide orthogonal topology improvement functionality. More...
#include <orthogonal_topology.h>
Inherits Avoid::TopologyAddonInterface.
Public Member Functions | |
AvoidTopologyAddon (vpsc::Rectangles &rs, cola::CompoundConstraints &cs, cola::RootCluster *ch, cola::VariableIDMap &map, const double moveLimit=120) | |
Constructs a AvoidTopologyAddon instance for a set of COLA diagram constraints. More... | |
This class can be passed to libavoid to extend it to provide orthogonal topology improvement functionality.
You should instantiate this class with libcola information about constraints on objects in the diagram and pass it to Avoid::Router::setTopologyAddon().
topology::AvoidTopologyAddon::AvoidTopologyAddon | ( | vpsc::Rectangles & | rs, |
cola::CompoundConstraints & | cs, | ||
cola::RootCluster * | ch, | ||
cola::VariableIDMap & | map, | ||
const double | moveLimit = 120 |
||
) |
Constructs a AvoidTopologyAddon instance for a set of COLA diagram constraints.
Passing libavoid an instance of this class with given libcola rectangles, constraints and cluster hierarchy will cause libavoid to perform a post-processing step after routing where it will move nodes to unify unnecessary kinks where this doesn't violate constraints on the diagram.
This information is usually available from an existing libcola instance.
[in] | rs | A vector of vpsc::Rectangle objects subject to the constraints. |
[in] | cs | A set of cola::CompoundConstraint objects to apply to rs. |
[in] | ch | A cola::RootCluster cluster hierarchy specification. |
[in] | map | A cola::VariableIDMap specifying a mapping from the Rectangle indexes in rs to ShapeRef IDs in this libavoid instance. |
[in] | moveLimit | The maximum length of a centre S-bend connector segments to attempt to improve (default 120.0). |