Adaptagrams
Public Member Functions | List of all members
topology::AvoidTopologyAddon Class Reference

This class can be passed to libavoid to extend it to provide orthogonal topology improvement functionality. More...

#include <orthogonal_topology.h>

Inherits Avoid::TopologyAddonInterface.

Collaboration diagram for topology::AvoidTopologyAddon:
Collaboration graph

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

Detailed Description

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

Constructor & Destructor Documentation

◆ AvoidTopologyAddon()

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.

Parameters
[in]rsA vector of vpsc::Rectangle objects subject to the constraints.
[in]csA set of cola::CompoundConstraint objects to apply to rs.
[in]chA cola::RootCluster cluster hierarchy specification.
[in]mapA cola::VariableIDMap specifying a mapping from the Rectangle indexes in rs to ShapeRef IDs in this libavoid instance.
[in]moveLimitThe maximum length of a centre S-bend connector segments to attempt to improve (default 120.0).

The documentation for this class was generated from the following files: