Inkscape
Vector Graphics Editor
|
libavoid: Object-avoiding orthogonal and polyline connector routing library. More...
Classes | |
class | ActionInfo |
class | AStarPath |
class | Block |
class | Blocks |
class | Box |
A bounding box, represented by the top-left and bottom-right corners. More... | |
class | Checkpoint |
A checkpoint is a point that the route for a particular connector must visit. More... | |
class | ClusterRef |
The ClusterRef class represents a cluster object. More... | |
class | CmpConnPinPtr |
struct | CmpEdgeInf |
struct | CmpNodePos |
class | CmpNodesInDim |
class | CompareConstraints |
class | ConnectorCrossings |
class | ConnEnd |
The ConnEnd class represents different possible endpoints for connectors. More... | |
class | ConnRef |
The ConnRef class represents a connector object. More... | |
class | ConnRerouteFlagDelegate |
class | Constraint |
class | DebugHandler |
struct | delete_object |
class | Edge |
A line between two points. More... | |
class | EdgeInf |
class | EdgeList |
struct | Event |
struct | HeapCmpVertInf |
class | HyperedgeImprover |
struct | HyperedgeNewAndDeletedObjectLists |
The HyperedgeNewAndDeletedObjectLists class stores lists of objects created and deleted during hyperedge improvement. More... | |
class | HyperedgeRerouter |
The HyperedgeRerouter class is a convenience object that can be used to register hyperedges to be rerouted, improving the placement of their junctions and connector paths. More... | |
struct | HyperedgeTreeEdge |
struct | HyperedgeTreeNode |
class | IncSolver |
class | JunctionRef |
The JunctionRef class represents a fixed or free-floating point that connectors can be attached to. More... | |
struct | LineRep |
class | MinimumTerminalSpanningTree |
class | Node |
class | Obstacle |
class | Point |
The Point class defines a point in the plane. More... | |
class | Polygon |
A dynamic Polygon, to which points can be easily added and removed. More... | |
class | PolygonInterface |
A common interface used by the Polygon classes. More... | |
struct | PositionStats |
class | PtOrder |
class | Rectangle |
A Rectangle, a simpler way to define the polygon for square or rectangular shapes. More... | |
class | ReferencingPolygon |
A Polygon which just references its points from other Polygons. More... | |
class | Router |
The Router class represents a libavoid router instance. More... | |
class | ShapeConnectionPin |
The ShapeConnectionPin class represents a fixed point or "pin" on a shape that can be connected to. More... | |
class | ShapeRef |
The ShapeRef class represents a shape object. More... | |
class | ShiftSegment |
class | Timer |
class | TopologyAddonInterface |
struct | UnsatisfiableException |
struct | UnsatisfiedConstraint |
class | Variable |
class | VertID |
class | VertInf |
class | VertInfList |
Typedefs | |
typedef std::list< std::pair< unsigned int, ConnEnd > > | ConnUpdateList |
typedef std::list< ActionInfo > | ActionInfoList |
typedef std::pair< unsigned int, unsigned int > | ConnectionPinIds |
typedef std::set< ShapeConnectionPin *, CmpConnPinPtr > | ShapeConnectionPinSet |
typedef std::list< ConnRef * > | ConnRefList |
A list of ConnRef objects. | |
typedef std::pair< Point *, ConnRef * > | PtConnPtrPair |
typedef std::vector< PtConnPtrPair > | PointRepVector |
typedef std::list< std::pair< size_t, size_t > > | NodeIndexPairLinkList |
typedef std::map< Avoid::Point, PtOrder > | PtOrderMap |
typedef std::set< Avoid::Point > | PointSet |
typedef std::pair< int, unsigned int > | CrossingsInfoPair |
typedef std::vector< Avoid::Point > | PointList |
typedef std::vector< PointList > | SharedPathList |
typedef unsigned int | ConnDirFlags |
One or more Avoid::ConnDirFlag options. | |
typedef Point | Vector |
A vector, represented by the Point class. | |
typedef Polygon | PolyLine |
A multi-segment line, represented with the Polygon class. | |
typedef std::list< int > | ShapeList |
typedef std::list< bool * > | FlagList |
typedef std::list< ConnEnd > | ConnEndList |
A list of ConnEnd objects. | |
typedef std::list< JunctionRef * > | JunctionRefList |
A list of JunctionRef objects. | |
typedef std::list< VertInf * > | VertexList |
typedef std::set< ConnRef * > | ConnRefSet |
typedef std::set< VertInf * > | VertexSet |
typedef std::vector< JunctionRef * > | JunctionRefVector |
typedef std::vector< ConnEndList > | ConnEndListVector |
typedef std::vector< ConnRefList > | ConnRefListVector |
typedef std::vector< JunctionRefList > | JunctionRefListVector |
typedef std::vector< VertexSet > | VertexSetVector |
typedef std::list< ShiftSegment * > | ShiftSegmentList |
typedef std::map< JunctionRef *, ShiftSegmentList > | RootSegmentsMap |
typedef std::map< JunctionRef *, HyperedgeTreeNode * > | JunctionHyperedgeTreeNodeMap |
typedef std::set< JunctionRef * > | JunctionSet |
typedef std::set< HyperedgeTreeNode *, CmpNodesInDim > | OrderedHENodeSet |
typedef std::map< VertInf *, HyperedgeTreeNode * > | VertexNodeMap |
typedef std::list< VertexSet > | VertexSetList |
typedef std::pair< EdgeInf *, VertInf * > | LayeredOrthogonalEdge |
typedef std::list< LayeredOrthogonalEdge > | LayeredOrthogonalEdgeList |
typedef std::list< Obstacle * > | ObstacleList |
typedef std::pair< double, ConnRef * > | ConnCostRef |
typedef std::set< ConnCostRef, CmpConnCostRef > | ConnCostRefSet |
typedef std::list< ConnCostRefSet > | ConnCostRefSetList |
typedef std::map< ConnRef *, std::set< ConnRef * > > | CrossingConnectorsMap |
typedef std::list< CrossingConnectorsMap > | CrossingConnectorsMapList |
typedef std::list< ConnCostRef > | ConnCostRefList |
typedef std::list< LineRep > | LineReps |
typedef std::list< unsigned int > | IntList |
typedef std::list< ClusterRef * > | ClusterRefList |
typedef enum RoutingParameter | PenaltyType |
typedef std::set< Node *, CmpNodePos > | NodeSet |
typedef std::list< ShapeRef * > | ShapeRefList |
typedef unsigned long long int | bigclock_t |
typedef std::list< EdgeInf * > | EdgeInfList |
typedef std::pair< VertInf *, VertInf * > | VertexPair |
typedef unsigned short | VertIDProps |
typedef std::set< unsigned int > | ShapeSet |
typedef std::map< VertID, ShapeSet > | ContainsMap |
typedef std::set< PointPair > | VertSet |
typedef std::list< EdgePair > | SweepEdgeList |
typedef std::list< std::map< Variable *, double > > | VarOffsetMapList |
typedef std::vector< Variable * > | Variables |
typedef std::vector< Constraint * > | Constraints |
typedef std::priority_queue< Constraint *, std::vector< Constraint * >, CompareConstraints > | Heap |
Functions | |
Point | midpoint (Point a, Point b) |
bool | validateBendPoint (VertInf *aInf, VertInf *bInf, VertInf *cInf) |
static int | midVertexNumber (const Point &p0, const Point &p1, const Point &c) |
void | splitBranchingSegments (Avoid::Polygon &poly, bool polyIsConn, Avoid::Polygon &conn, const double tolerance) |
static int | segDir (const Point &p1, const Point &p2) |
static bool | posInlineWithConnEndSegs (const double pos, const size_t dim, const Avoid::Polygon &poly, const Avoid::Polygon &conn) |
static double | pathLength (Avoid::Point **c_path, Avoid::Point **p_path, size_t size) |
void | db_printf (const char *fmt,...) |
void | err_printf (const char *fmt,...) |
bool | inBetween (const Point &a, const Point &b, const Point &c) |
bool | colinear (const Point &a, const Point &b, const Point &c, const double tolerance) |
bool | pointOnLine (const Point &a, const Point &b, const Point &c, const double tolerance) |
bool | segmentIntersect (const Point &a, const Point &b, const Point &c, const Point &d) |
bool | segmentShapeIntersect (const Point &e1, const Point &e2, const Point &s1, const Point &s2, bool &seenIntersectionAtEndpoint) |
bool | inValidRegion (bool IgnoreRegions, const Point &a0, const Point &a1, const Point &a2, const Point &b) |
int | cornerSide (const Point &c1, const Point &c2, const Point &c3, const Point &p) |
double | euclideanDist (const Point &a, const Point &b) |
double | manhattanDist (const Point &a, const Point &b) |
double | dist (const Point &a, const Point &b) |
double | totalLength (const Polygon &poly) |
double | angle (const Point &a, const Point &b, const Point &c) |
bool | inPoly (const Polygon &poly, const Point &q, bool countBorder) |
bool | inPolyGen (const PolygonInterface &argpoly, const Point &q) |
int | segmentIntersectPoint (const Point &a1, const Point &a2, const Point &b1, const Point &b2, double *x, double *y) |
int | rayIntersectPoint (const Point &a1, const Point &a2, const Point &b1, const Point &b2, double *x, double *y) |
double | rotationalAngle (const Point &p) |
static int | vecDir (const Point &a, const Point &b, const Point &c, const double maybeZero=0.0) |
static Point | projection (const Point &a, const Point &b, const Point &c) |
static Point | unitNormalForEdge (const Point &pt1, const Point &pt2) |
static void | shorten_line (double &x1, double &y1, double &x2, double &y2, const unsigned int mode, const double shorten_length) |
static int | orthogTurnOrder (const Point &a, const Point &b, const Point &c) |
static bool | CmpHyperedgeSegmentDirOrder (const ShiftSegment *lhsSuper, const ShiftSegment *rhsSuper) |
static bool | travellingForwardOnConnector (ConnRef *conn, JunctionRef *junction) |
static double | Dot (const Point &l, const Point &r) |
static double | CrossLength (const Point &l, const Point &r) |
static double | angleBetween (const Point &p1, const Point &p2, const Point &p3) |
static void | constructPolygonPath (Polygon &connRoute, VertInf *inf2, VertInf *inf3, ANode *inf1Node) |
static int | dimDirection (double difference) |
static double | cost (ConnRef *lineRef, const double dist, VertInf *inf2, VertInf *inf3, ANode *inf1Node) |
static void | printDirections (FILE *fp, unsigned int directions) |
static unsigned int | orthogonalDirectionsCount (const unsigned int directions) |
static unsigned int | orthogonalDirection (const Point &a, const Point &b) |
static unsigned int | dirRight (unsigned int direction) |
static unsigned int | dirLeft (unsigned int direction) |
static unsigned int | dirReverse (unsigned int direction) |
int | bends (const Point &curr, unsigned int currDir, const Point &dest, unsigned int destDir) |
static double | estimatedCostSpecific (ConnRef *lineRef, const Point *last, const Point &curr, const VertInf *costTar, const unsigned int costTarDirs) |
static bool | pointAlignedWithOneOf (const Point &point, const std::vector< Point > &points, const size_t dim) |
void | generateStaticOrthogonalVisGraph (Router *router) |
void | improveOrthogonalRoutes (Router *router) |
static double | cheapEstimatedCost (ConnRef *lineRef) |
static double | AngleAFromThreeSides (const double a, const double b, const double c) |
static void | reduceRange (double &val) |
int | compare_events (const void *a, const void *b) |
void | buildConnectorRouteCheckpointCache (Router *router) |
void | clearConnectorRouteCheckpointCache (Router *router) |
static void | processShiftEvent (NodeSet &scanline, Event *e, size_t dim, unsigned int pass) |
void | buildOrthogonalChannelInfo (Router *router, const size_t dim, ShiftSegmentList &segmentList) |
static double | absoluteOffsetInverse (double offset, const Box &shapeBox, size_t toDim) |
ostream & | operator<< (ostream &os, const VertID &vID) |
bool | directVis (VertInf *src, VertInf *dst) |
static const VertID | dummyOrthogID (0, 0) |
static const VertID | dummyOrthogShapeID (0, 0, VertID::PROP_OrthShapeEdge) |
static void | vertexSweep (VertInf *vert) |
void | vertexVisibility (VertInf *point, VertInf *partner, bool knownNew, const bool gen_contains) |
static bool | sweepVisible (SweepEdgeList &T, const PointPair &point, std::set< unsigned int > &onBorderIDs, int *blocker) |
ostream & | operator<< (ostream &os, const Block &b) |
std::ostream & | operator<< (std::ostream &os, const Constraint &c) |
std::ostream & | operator<< (std::ostream &os, const Variable &v) |
Constraints | constraintsRemovingRedundantEqualities (Variables const &vars, Constraints const &constraints) |
Variables | |
static const unsigned int | CONNECTIONPIN_UNSET = INT_MAX |
static const unsigned int | CONNECTIONPIN_CENTRE = INT_MAX - 1 |
static const double | ATTACH_POS_TOP = 0 |
static const double | ATTACH_POS_CENTRE = 0.5 |
static const double | ATTACH_POS_BOTTOM = 1 |
static const double | ATTACH_POS_LEFT = ATTACH_POS_TOP |
static const double | ATTACH_POS_RIGHT = ATTACH_POS_BOTTOM |
static const double | ATTACH_POS_MIN_OFFSET = 0 |
static const double | ATTACH_POS_MAX_OFFSET = -1 |
const unsigned int | CROSSING_NONE = 0 |
const unsigned int | CROSSING_TOUCHES = 1 |
const unsigned int | CROSSING_SHARES_PATH = 2 |
const unsigned int | CROSSING_SHARES_PATH_AT_END = 4 |
const unsigned int | CROSSING_SHARES_FIXED_SEGMENT = 8 |
static const int | DONT_INTERSECT = 0 |
static const int | DO_INTERSECT = 1 |
static const int | PARALLEL = 3 |
static const unsigned int | SHORTEN_NONE = 0 |
static const unsigned int | SHORTEN_START = 1 |
static const unsigned int | SHORTEN_END = 2 |
static const unsigned int | SHORTEN_BOTH = SHORTEN_START | SHORTEN_END |
static const size_t | XDIM = 0 |
static const size_t | YDIM = 1 |
static const unsigned short | kUnassignedVertexNumber = 8 |
Constant value representing an unassigned vertex number. | |
static const unsigned short | kShapeConnectionPin = 9 |
Constant value representing a ShapeConnectionPin. | |
static const unsigned int | CostDirectionN = 1 |
static const unsigned int | CostDirectionE = 2 |
static const unsigned int | CostDirectionS = 4 |
static const unsigned int | CostDirectionW = 8 |
static const double | LIMIT = 100000000 |
static const unsigned int | runningTo = 1 |
static const unsigned int | runningFrom = 2 |
static const unsigned int | runningToAndFrom = runningTo | runningFrom |
static const double | zeroParamValue = 0 |
static const double | chooseSensibleParamValue = -1 |
static const double | CHANNEL_MAX = 100000000 |
static const char * | timerNames [] |
static const bool | timerStart = true |
static const bool | timerDelay = false |
static const size_t | TIMER_VARIABLES_COUNT = 2 |
static const unsigned int | XL_EDGE = 1 |
static const unsigned int | XL_CONN = 2 |
static const unsigned int | XH_EDGE = 4 |
static const unsigned int | XH_CONN = 8 |
static const unsigned int | YL_EDGE = 16 |
static const unsigned int | YL_CONN = 32 |
static const unsigned int | YH_EDGE = 64 |
static const unsigned int | YH_CONN = 128 |
static const double | ZERO_UPPERBOUND =-1e-10 |
static const double | LAGRANGIAN_TOLERANCE =-1e-4 |
libavoid: Object-avoiding orthogonal and polyline connector routing library.
You should use libavoid via an instance of the Router class.
typedef std::list<ActionInfo> Avoid::ActionInfoList |
Definition at line 84 of file actioninfo.h.
typedef unsigned long long int Avoid::bigclock_t |
typedef std::list< ClusterRef * > Avoid::ClusterRefList |
typedef std::pair<double, ConnRef *> Avoid::ConnCostRef |
Definition at line 1036 of file router.cpp.
typedef std::list<ConnCostRef> Avoid::ConnCostRefList |
Definition at line 1405 of file router.cpp.
typedef std::set<ConnCostRef, CmpConnCostRef> Avoid::ConnCostRefSet |
Definition at line 1051 of file router.cpp.
typedef std::list<ConnCostRefSet> Avoid::ConnCostRefSetList |
Definition at line 1052 of file router.cpp.
typedef unsigned int Avoid::ConnDirFlags |
One or more Avoid::ConnDirFlag options.
typedef std::pair<unsigned int, unsigned int> Avoid::ConnectionPinIds |
Definition at line 53 of file connectionpin.h.
typedef std::list<ConnEnd> Avoid::ConnEndList |
A list of ConnEnd objects.
Definition at line 47 of file hyperedge.h.
typedef std::vector<ConnEndList> Avoid::ConnEndListVector |
Definition at line 60 of file hyperedge.h.
typedef std::list< ConnRef * > Avoid::ConnRefList |
A list of ConnRef objects.
Definition at line 48 of file connector.h.
typedef std::vector<ConnRefList> Avoid::ConnRefListVector |
Definition at line 61 of file hyperedge.h.
typedef std::set<ConnRef *> Avoid::ConnRefSet |
Definition at line 56 of file hyperedge.h.
typedef std::list<std::pair<unsigned int, ConnEnd> > Avoid::ConnUpdateList |
Definition at line 57 of file actioninfo.h.
typedef std::vector< Constraint * > Avoid::Constraints |
typedef std::map<VertID, ShapeSet> Avoid::ContainsMap |
Definition at line 218 of file vertices.h.
typedef std::map<ConnRef *, std::set<ConnRef *> > Avoid::CrossingConnectorsMap |
Definition at line 1078 of file router.cpp.
typedef std::list<CrossingConnectorsMap> Avoid::CrossingConnectorsMapList |
Definition at line 1081 of file router.cpp.
typedef std::pair<int, unsigned int> Avoid::CrossingsInfoPair |
Definition at line 508 of file connector.h.
typedef std::list<EdgeInf *> Avoid::EdgeInfList |
Definition at line 44 of file vertices.h.
typedef std::list<bool *> Avoid::FlagList |
typedef std::priority_queue<Constraint*,std::vector<Constraint*>, CompareConstraints> Avoid::Heap |
typedef std::list<unsigned int> Avoid::IntList |
typedef std::map< JunctionRef *, HyperedgeTreeNode * > Avoid::JunctionHyperedgeTreeNodeMap |
Definition at line 46 of file hyperedgeimprover.h.
typedef std::list< JunctionRef * > Avoid::JunctionRefList |
A list of JunctionRef objects.
Definition at line 53 of file hyperedge.h.
typedef std::vector<JunctionRefList> Avoid::JunctionRefListVector |
Definition at line 62 of file hyperedge.h.
typedef std::vector<JunctionRef *> Avoid::JunctionRefVector |
Definition at line 59 of file hyperedge.h.
typedef std::set< JunctionRef * > Avoid::JunctionSet |
Definition at line 47 of file hyperedgeimprover.h.
typedef std::pair<EdgeInf *, VertInf *> Avoid::LayeredOrthogonalEdge |
typedef std::list<LayeredOrthogonalEdge> Avoid::LayeredOrthogonalEdgeList |
typedef std::list<LineRep> Avoid::LineReps |
typedef std::list<std::pair<size_t, size_t> > Avoid::NodeIndexPairLinkList |
Definition at line 473 of file connector.h.
typedef std::set<Node*,CmpNodePos> Avoid::NodeSet |
Definition at line 76 of file scanline.h.
typedef std::list< Obstacle * > Avoid::ObstacleList |
Definition at line 49 of file obstacle.h.
typedef std::set<HyperedgeTreeNode *, CmpNodesInDim> Avoid::OrderedHENodeSet |
Definition at line 62 of file hyperedgetree.h.
typedef enum RoutingParameter Avoid::PenaltyType |
typedef std::vector<Avoid::Point> Avoid::PointList |
Definition at line 509 of file connector.h.
typedef std::vector< PtConnPtrPair > Avoid::PointRepVector |
Definition at line 472 of file connector.h.
typedef std::set<Avoid::Point> Avoid::PointSet |
Definition at line 498 of file connector.h.
typedef Polygon Avoid::PolyLine |
A multi-segment line, represented with the Polygon class.
Definition at line 328 of file geomtypes.h.
typedef std::pair<Point *, ConnRef *> Avoid::PtConnPtrPair |
Definition at line 470 of file connector.h.
typedef std::map<Avoid::Point,PtOrder> Avoid::PtOrderMap |
Definition at line 497 of file connector.h.
typedef std::map<JunctionRef *, ShiftSegmentList> Avoid::RootSegmentsMap |
Definition at line 44 of file hyperedgeimprover.h.
typedef std::set<ShapeConnectionPin *, CmpConnPinPtr> Avoid::ShapeConnectionPinSet |
Definition at line 296 of file connectionpin.h.
typedef std::list<int> Avoid::ShapeList |
typedef std::list<ShapeRef *> Avoid::ShapeRefList |
typedef std::set<unsigned int> Avoid::ShapeSet |
Definition at line 217 of file vertices.h.
typedef std::vector<PointList> Avoid::SharedPathList |
Definition at line 510 of file connector.h.
typedef std::list< ShiftSegment * > Avoid::ShiftSegmentList |
Definition at line 43 of file hyperedgeimprover.h.
typedef std::list<EdgePair> Avoid::SweepEdgeList |
Definition at line 316 of file visibility.cpp.
typedef std::vector<Variable*> Avoid::Variables |
typedef std::list<std::map<Variable *, double> > Avoid::VarOffsetMapList |
typedef Point Avoid::Vector |
A vector, represented by the Point class.
Definition at line 128 of file geomtypes.h.
typedef std::list<VertInf *> Avoid::VertexList |
Definition at line 55 of file hyperedge.h.
typedef std::map<VertInf *, HyperedgeTreeNode *> Avoid::VertexNodeMap |
Definition at line 128 of file hyperedgetree.h.
typedef std::pair<VertInf *, VertInf *> Avoid::VertexPair |
Definition at line 45 of file vertices.h.
typedef std::set<VertInf *> Avoid::VertexSet |
Definition at line 57 of file hyperedge.h.
typedef std::list<VertexSet> Avoid::VertexSetList |
typedef std::vector<VertexSet> Avoid::VertexSetVector |
Definition at line 63 of file hyperedge.h.
typedef unsigned short Avoid::VertIDProps |
Definition at line 48 of file vertices.h.
typedef std::set<PointPair > Avoid::VertSet |
Definition at line 210 of file visibility.cpp.
enum Avoid::ActionType |
Enumerator | |
---|---|
ShapeMove | |
ShapeAdd | |
ShapeRemove | |
JunctionMove | |
JunctionAdd | |
JunctionRemove | |
ConnChange | |
ConnectionPinChange |
Definition at line 46 of file actioninfo.h.
enum Avoid::ConnDirFlag |
Flags that can be passed to the ConnEnd constructor to specify which sides of a shape this point should have visibility to if it is located within the shape's area.
Like SVG, libavoid considers the Y-axis to point downwards, that is, like screen coordinates the coordinates increase from left-to-right and also from top-to-bottom.
enum Avoid::ConnEndType |
Types that describe the kind a connection that a ConnEnd represents.
Enumerator | |
---|---|
ConnEndPoint | The ConnEnd represents a free-floating point that may or may not have visibility in specific directions. |
ConnEndShapePin | The ConnEnd attaches to a specific ShapeConnectionPin on a shape. |
ConnEndJunction | The ConnEnd attaches to a junction. |
ConnEndEmpty | The ConnEnd is empty and doesn't have any information set. |
enum Avoid::ConnType |
Describes the type of routing that is performed for each connector.
Definition at line 53 of file connector.h.
enum Avoid::EventType |
Enumerator | |
---|---|
Open | |
SegOpen | |
ConnPoint | |
SegClose | |
Close |
Definition at line 108 of file scanline.h.
enum Avoid::RouterFlag |
Flags that can be passed to the router during initialisation to specify options.
enum Avoid::RoutingOption |
Types of routing options that can be enabled.
Enumerator | |
---|---|
nudgeOrthogonalSegmentsConnectedToShapes | This option causes the final segments of connectors, which are attached to shapes, to be nudged apart. Usually these segments are fixed, since they are considered to be attached to ports. Defaults to false. This option also causes routes running through the same checkpoint to be nudged apart. This option has no effect if nudgeSharedPathsWithCommonEndPoint is set to false,
|
improveHyperedgeRoutesMovingJunctions | This option causes hyperedge routes to be locally improved fixing obviously bad paths. As part of this process libavoid will effectively move junctions, setting new ideal positions which can be accessed via JunctionRef::recommendedPosition() for each junction. Defaults to true. This will not add or remove junctions, so will keep the hyperedge topology the same. Better routes can be achieved by enabling the improveHyperedgeRoutesMovingAddingAndDeletingJunctions option. If initial sensible positions for junctions in hyperedges are not known you can register those hyperedges with the HyperedgeRerouter class for complete rerouting. |
penaliseOrthogonalSharedPathsAtConnEnds | This option penalises and attempts to reroute orthogonal shared connector paths terminating at a common junction or shape connection pin. When multiple connector paths enter or leave the same side of a junction (or shape pin), the router will attempt to reroute these to different sides of the junction or different shape pins. Defaults to false. This option depends on the fixedSharedPathPenalty penalty having been set.
|
nudgeOrthogonalTouchingColinearSegments | This option can be used to control whether collinear line segments that touch just at their ends will be nudged apart. The overlap will usually be resolved in the other dimension, so this is not usually required. Defaults to false. |
performUnifyingNudgingPreprocessingStep | This option can be used to control whether the router performs a preprocessing step before orthogonal nudging where is tries to unify segments and centre them in free space. This generally results in better quality ordering and nudging. Defaults to true. You may wish to turn this off for large examples where it can be very slow and will make little difference. |
improveHyperedgeRoutesMovingAddingAndDeletingJunctions | This option causes hyperedge routes to be locally improved fixing obviously bad paths. It can cause junctions and connectors to be added or removed from hyperedges. To get details of these changes for each connector you can call Router::newAndDeletedObjectListsFromHyperedgeImprovement(). As part of this process libavoid will effectively move junctions by setting new ideal positions for each remaining or added junction, which can be read from JunctionRef::recommendedPosition() for each junction. Defaults to false. If set, this option overrides the improveHyperedgeRoutesMovingJunctions option. If initial sensible positions for junctions in hyperedges are not known you can register those hyperedges with the HyperedgeRerouter class for complete rerouting. |
nudgeSharedPathsWithCommonEndPoint | This option determines whether intermediate segments of connectors that are attached to common endpoints will be nudged apart. Usually these segments get nudged apart, but you may want to turn this off if you would prefer that entire shared paths terminating at a common end point should overlap. Defaults to true. |
lastRoutingOptionMarker |
Types of routing parameters and penalties that can be used to tailor the style and improve the quality of the connector routes produced.
Enumerator | |
---|---|
segmentPenalty | This penalty is applied for each segment in the connector path beyond the first. This should always normally be set when doing orthogonal routing to prevent step-like connector paths.
|
anglePenalty | This penalty is applied in its full amount to tight acute bends in the connector path. A smaller portion of the penalty is applied for slight bends, i.e., where the bend is close to 180 degrees. This is useful for polyline routing where there is some evidence that tighter corners are worse for readability, but that slight bends might not be so bad, especially when smoothed by curves. |
crossingPenalty | This penalty is applied whenever a connector path crosses another connector path. It takes shared paths into consideration and the penalty is only applied if there is an actual crossing.
|
clusterCrossingPenalty | This penalty is applied whenever a connector path crosses a cluster boundary.
|
fixedSharedPathPenalty | This penalty is applied whenever a connector path shares some segments with an immovable portion of an existing connector route (such as the first or last segment of a connector).
|
portDirectionPenalty | This penalty is applied to port selection choice when the other end of the connector being routed does not appear in any of the 90 degree visibility cones centered on the visibility directions for the port.
|
shapeBufferDistance | This parameter defines the spacing distance that will be added to the sides of each shape when determining obstacle sizes for routing. This controls how closely connectors pass shapes, and can be used to prevent connectors overlapping with shape boundaries. By default, this distance is set to a value of 0. |
idealNudgingDistance | This parameter defines the spacing distance that will be used for nudging apart overlapping corners and line segments of connectors. By default, this distance is set to a value of 4. |
reverseDirectionPenalty | This penalty is applied whenever a connector path travels in the direction opposite of the destination from the source endpoint. By default this penalty is set to zero. This shouldn't be needed in most cases but can be useful if you use penalties such as crossingPenalty which cause connectors to loop around obstacles. |
lastRoutingParameterMarker |
Describes the type of transformation that has been applied to a shape having its transformConnectionPinPositions() method called.
enum Avoid::TimerIndex |
Types of routing phases reported by Router::shouldContinueTransactionWithProgress().
This phases will occur in the order given here, but each phase may take varying amounts of time.
|
static |
Definition at line 77 of file shape.cpp.
References ATTACH_POS_MAX_OFFSET, ATTACH_POS_MIN_OFFSET, Avoid::Box::length(), and offset.
Referenced by Avoid::ShapeRef::transformConnectionPinPositions().
Definition at line 330 of file geometry.cpp.
References c, Avoid::Point::x, and Avoid::Point::y.
Referenced by Avoid::ConnEnd::assignPinVisibilityTo().
|
static |
Definition at line 1754 of file router.cpp.
References c.
Definition at line 194 of file makepath.cpp.
References CrossLength(), Dot(), Avoid::Point::x, and Avoid::Point::y.
Referenced by cost().
int Avoid::bends | ( | const Point & | curr, |
unsigned int | currDir, | ||
const Point & | dest, | ||
unsigned int | destDir | ||
) |
Definition at line 646 of file makepath.cpp.
References dirLeft(), dirReverse(), dirRight(), and orthogonalDirection().
Referenced by estimatedCostSpecific().
void Avoid::buildConnectorRouteCheckpointCache | ( | Router * | router | ) |
Definition at line 311 of file scanline.cpp.
References Avoid::Polygon::checkpointsOnRoute, Avoid::Router::connRefs, ConnType_Orthogonal, Avoid::ConnRef::displayRoute(), pointOnLine(), Avoid::Polygon::ps, Avoid::ConnRef::routingCheckpoints(), Avoid::ConnRef::routingType(), and Avoid::Polygon::size().
void Avoid::buildOrthogonalChannelInfo | ( | Router * | router, |
const size_t | dim, | ||
ShiftSegmentList & | segmentList | ||
) |
Definition at line 462 of file scanline.cpp.
References Close, compare_events(), Avoid::Router::m_obstacles, Avoid::Box::max, Avoid::Box::min, Open, Avoid::Event::pos, Avoid::JunctionRef::positionFixed(), processShiftEvent(), Avoid::Obstacle::routingBox(), SegClose, and SegOpen.
Referenced by Avoid::HyperedgeImprover::execute().
|
static |
Definition at line 1055 of file router.cpp.
References ConnType_PolyLine, Avoid::ConnRef::displayRoute(), euclideanDist(), manhattanDist(), Avoid::Polygon::ps, Avoid::ConnRef::routingType(), and Avoid::Polygon::size().
void Avoid::clearConnectorRouteCheckpointCache | ( | Router * | router | ) |
Definition at line 362 of file scanline.cpp.
References Avoid::Polygon::checkpointsOnRoute, Avoid::Router::connRefs, ConnType_Orthogonal, Avoid::ConnRef::displayRoute(), and Avoid::ConnRef::routingType().
|
static |
Definition at line 253 of file hyperedgeimprover.cpp.
Definition at line 79 of file geometry.cpp.
References c, vecDir(), Avoid::Point::x, and Avoid::Point::y.
Referenced by Avoid::MinimumTerminalSpanningTree::connectsWithoutBend(), and Avoid::MinimumTerminalSpanningTree::constructSequential().
int Avoid::compare_events | ( | const void * | a, |
const void * | b | ||
) |
Definition at line 294 of file scanline.cpp.
References Avoid::Event::pos, Avoid::Event::type, and Avoid::Event::v.
Referenced by buildOrthogonalChannelInfo().
Constraints Avoid::constraintsRemovingRedundantEqualities | ( | Variables const & | vars, |
Constraints const & | constraints | ||
) |
|
static |
Definition at line 212 of file makepath.cpp.
References Avoid::Point::id, Avoid::VertInf::point, Avoid::Polygon::ps, Avoid::Polygon::size(), and vecDir().
Referenced by cost().
Definition at line 261 of file geometry.cpp.
References vecDir().
Referenced by Avoid::ConnectorCrossings::countForSegment().
|
static |
Definition at line 308 of file makepath.cpp.
References Avoid::VertInf::_router, angleBetween(), anglePenalty, Avoid::Polygon::at(), clusterCrossingPenalty, Avoid::Router::ClusteredRouting, Avoid::Router::clusterRefs, Avoid::Router::connRefs, ConnType_Orthogonal, constructPolygonPath(), CROSSING_SHARES_FIXED_SEGMENT, CROSSING_SHARES_PATH, CROSSING_SHARES_PATH_AT_END, crossingPenalty, dimDirection(), Avoid::ConnRef::displayRoute(), dist(), Avoid::ConnRef::dst(), Avoid::Polygon::empty(), fixedSharedPathPenalty, Avoid::VertInfList::getVertexByPos(), Avoid::ConnRef::id(), Avoid::Router::isInCrossingPenaltyReroutingStage(), penaliseOrthogonalSharedPathsAtConnEnds, Avoid::VertInf::point, Avoid::Polygon::ps, result, reverseDirectionPenalty, Avoid::Router::routingOption(), Avoid::Router::routingParameter(), Avoid::ConnRef::routingType(), segmentPenalty, Avoid::Polygon::size(), Avoid::ConnRef::src(), Avoid::Router::vertices, Avoid::Point::x, and Avoid::Point::y.
Referenced by Avoid::MinimumTerminalSpanningTree::constructInterleaved(), Avoid::MinimumTerminalSpanningTree::constructSequential(), Avoid::ShapeConnectionPin::setConnectionCost(), and Avoid::IncSolver::solve().
Definition at line 185 of file makepath.cpp.
References Avoid::Point::x, and Avoid::Point::y.
Referenced by angleBetween().
|
inline |
Definition at line 53 of file debug.h.
References fmt, va_end(), and va_start().
Referenced by Avoid::EdgeInf::checkVis(), Avoid::Obstacle::computeVisibilityNaive(), Avoid::EdgeInf::db_print(), Avoid::VertID::db_print(), Avoid::EdgeInf::firstBlocker(), Avoid::ConnRef::generateCheckpointsPath(), Avoid::ConnRef::generatePath(), Avoid::ConnRef::generateStandardPath(), Avoid::Router::markPolylineConnectorsNeedingReroutingForDeletedObstacle(), midVertexNumber(), Avoid::Router::newBlockingShape(), Avoid::ConnRef::set_route(), validateBendPoint(), vertexSweep(), and Avoid::Router::~Router().
|
inlinestatic |
Definition at line 290 of file makepath.cpp.
Referenced by cost().
Definition at line 422 of file vertices.cpp.
References Avoid::VertInf::_router, Avoid::Router::contains, Avoid::VertInfList::end(), end, Avoid::VertInf::id, Avoid::VertID::isConnPt(), Avoid::VertInf::lstNext, Avoid::VertInf::point, segmentIntersect(), Avoid::VertInfList::shapesBegin(), and Avoid::Router::vertices.
|
static |
Definition at line 589 of file makepath.cpp.
References CostDirectionE, CostDirectionN, CostDirectionS, and CostDirectionW.
Referenced by bends().
|
static |
Definition at line 614 of file makepath.cpp.
References CostDirectionE, CostDirectionN, CostDirectionS, and CostDirectionW.
Referenced by bends().
|
static |
Definition at line 564 of file makepath.cpp.
References CostDirectionE, CostDirectionN, CostDirectionS, and CostDirectionW.
Referenced by bends().
Definition at line 310 of file geometry.cpp.
References Avoid::Point::x, and Avoid::Point::y.
Referenced by Avoid::ConnRef::calcRouteDist(), cost(), estimatedCostSpecific(), Avoid::Block::merge(), Avoid::Block::merge(), Avoid::Blocks::mergeLeft(), Avoid::Blocks::mergeRight(), Avoid::EdgeInf::setDist(), totalLength(), Avoid::HyperedgeTreeNode::validateHyperedge(), and Avoid::HyperedgeTreeEdge::validateHyperedge().
Definition at line 180 of file makepath.cpp.
References Avoid::Point::x, and Avoid::Point::y.
Referenced by angleBetween().
|
static |
|
static |
|
inline |
Definition at line 78 of file debug.h.
References fmt, va_end(), and va_start().
Referenced by Avoid::ConnEnd::assignPinVisibilityTo(), Avoid::HyperedgeRerouter::calcHyperedgeConnectors(), Avoid::ShapeConnectionPin::commonInitForShapeConnection(), Avoid::HyperedgeImprover::execute(), Avoid::ConnRef::generateCheckpointsPath(), Avoid::ConnRef::getConnEndForEndpointVertex(), Avoid::ClusterRef::~ClusterRef(), Avoid::ConnRef::~ConnRef(), Avoid::JunctionRef::~JunctionRef(), and Avoid::ShapeRef::~ShapeRef().
|
static |
Definition at line 780 of file makepath.cpp.
References bends(), ConnType_PolyLine, CostDirectionE, CostDirectionN, CostDirectionS, CostDirectionW, dist(), euclideanDist(), manhattanDist(), orthogonalDirection(), orthogonalDirectionsCount(), Avoid::VertInf::point, Avoid::ConnRef::router(), Avoid::Router::routingParameter(), Avoid::ConnRef::routingType(), segmentPenalty, Avoid::Point::x, and Avoid::Point::y.
Definition at line 292 of file geometry.cpp.
References Avoid::Point::x, and Avoid::Point::y.
Referenced by Avoid::ConnEnd::assignPinVisibilityTo(), Avoid::ConnRef::calcRouteDist(), cheapEstimatedCost(), Avoid::EdgeInf::checkVis(), estimatedCostSpecific(), Avoid::Router::markPolylineConnectorsNeedingReroutingForDeletedObstacle(), and Avoid::ConnRef::setEndpoint().
|
extern |
Referenced by Avoid::Router::regenerateStaticBuiltGraph().
|
extern |
Referenced by Avoid::Router::rerouteAndCallbackConnectors().
Definition at line 55 of file geometry.cpp.
References c, vecDir(), Avoid::Point::x, and Avoid::Point::y.
Referenced by pointOnLine().
Definition at line 349 of file geometry.cpp.
References Avoid::Polygon::ps, Avoid::Polygon::size(), and vecDir().
Referenced by Avoid::Router::adjustContainsWithAdd(), Avoid::Router::generateContains(), Avoid::Router::newBlockingShape(), and Avoid::Router::shapeContainingPoint().
bool Avoid::inPolyGen | ( | const PolygonInterface & | argpoly, |
const Point & | q | ||
) |
Definition at line 380 of file geometry.cpp.
References Avoid::Polygon::ps, Avoid::Polygon::size(), Avoid::Point::x, and Avoid::Point::y.
Referenced by Avoid::Router::adjustClustersWithAdd(), and Avoid::Router::generateContains().
bool Avoid::inValidRegion | ( | bool | IgnoreRegions, |
const Point & | a0, | ||
const Point & | a1, | ||
const Point & | a2, | ||
const Point & | b | ||
) |
Definition at line 199 of file geometry.cpp.
References vecDir().
Referenced by Avoid::EdgeInf::checkVis(), and vertexSweep().
Definition at line 302 of file geometry.cpp.
References Avoid::Point::x, and Avoid::Point::y.
Referenced by Avoid::ConnEnd::assignPinVisibilityTo(), Avoid::ConnRef::calcRouteDist(), cheapEstimatedCost(), estimatedCostSpecific(), and pathLength().
Definition at line 683 of file connector.cpp.
References midpoint(), Avoid::Point::x, and Avoid::Point::y.
Referenced by midpoint(), and Avoid::ConnRef::splitAtSegment().
Definition at line 1488 of file connector.cpp.
References c, db_printf(), kUnassignedVertexNumber, Avoid::Point::vn, Avoid::Point::x, and Avoid::Point::y.
Referenced by splitBranchingSegments().
ostream & Avoid::operator<< | ( | std::ostream & | os, |
const Block & | b | ||
) |
ostream & Avoid::operator<< | ( | std::ostream & | os, |
const VertID & | vID | ||
) |
Definition at line 149 of file vertices.cpp.
std::ostream & Avoid::operator<< | ( | std::ostream & | os, |
const Constraint & | c | ||
) |
std::ostream & Avoid::operator<< | ( | std::ostream & | os, |
const Variable & | v | ||
) |
Definition at line 538 of file makepath.cpp.
References CostDirectionE, CostDirectionN, CostDirectionS, CostDirectionW, result, Avoid::Point::x, and Avoid::Point::y.
Referenced by bends(), and estimatedCostSpecific().
|
static |
Definition at line 515 of file makepath.cpp.
References CostDirectionE, CostDirectionN, CostDirectionS, and CostDirectionW.
Referenced by estimatedCostSpecific().
|
inlinestatic |
Definition at line 85 of file graph.cpp.
References c, vecDir(), Avoid::Point::x, and Avoid::Point::y.
Referenced by Avoid::EdgeInf::rotationLessThan().
|
static |
Definition at line 1721 of file connector.cpp.
References manhattanDist(), and size.
Referenced by Avoid::ConnectorCrossings::countForSegment().
|
inlinestatic |
Definition at line 899 of file makepath.cpp.
bool Avoid::pointOnLine | ( | const Point & | a, |
const Point & | b, | ||
const Point & | c, | ||
const double | tolerance | ||
) |
Definition at line 105 of file geometry.cpp.
References c, inBetween(), vecDir(), Avoid::Point::x, and Avoid::Point::y.
Referenced by buildConnectorRouteCheckpointCache(), Avoid::HyperedgeImprover::moveJunctionAlongCommonEdge(), segmentShapeIntersect(), splitBranchingSegments(), and vertexSweep().
|
static |
Definition at line 1674 of file connector.cpp.
References Avoid::Polygon::ps, and Avoid::Polygon::size().
Referenced by Avoid::ConnectorCrossings::countForSegment().
|
static |
Definition at line 493 of file makepath.cpp.
References CostDirectionE, CostDirectionN, CostDirectionS, and CostDirectionW.
|
static |
Definition at line 388 of file scanline.cpp.
References Close, Avoid::Node::firstAbove, Avoid::Node::firstBelow, Open, result, SegClose, SegOpen, Avoid::Event::type, and Avoid::Event::v.
Referenced by buildOrthogonalChannelInfo().
Definition at line 99 of file geometry.h.
References c, Avoid::Point::x, and Avoid::Point::y.
int Avoid::rayIntersectPoint | ( | const Point & | a1, |
const Point & | a2, | ||
const Point & | b1, | ||
const Point & | b2, | ||
double * | x, | ||
double * | y | ||
) |
Definition at line 576 of file geometry.cpp.
References DO_INTERSECT, num, PARALLEL, Avoid::Point::x, and Avoid::Point::y.
|
static |
Definition at line 2163 of file router.cpp.
References LIMIT.
Referenced by Avoid::Router::outputDiagramSVG(), and Avoid::Router::outputInstanceToSVG().
double Avoid::rotationalAngle | ( | const Point & | p | ) |
Definition at line 611 of file geometry.cpp.
References ang(), Avoid::Point::x, and Avoid::Point::y.
Referenced by Avoid::ConnEnd::assignPinVisibilityTo().
Definition at line 1653 of file connector.cpp.
References result, Avoid::Point::x, and Avoid::Point::y.
Referenced by Avoid::ConnectorCrossings::countForSegment().
Definition at line 132 of file geometry.cpp.
Referenced by directVis(), segmentShapeIntersect(), and vertexSweep().
int Avoid::segmentIntersectPoint | ( | const Point & | a1, |
const Point & | a2, | ||
const Point & | b1, | ||
const Point & | b2, | ||
double * | x, | ||
double * | y | ||
) |
Definition at line 476 of file geometry.cpp.
References DO_INTERSECT, DONT_INTERSECT, num, PARALLEL, Avoid::Point::x, and Avoid::Point::y.
Referenced by Avoid::ConnectorCrossings::countForSegment().
bool Avoid::segmentShapeIntersect | ( | const Point & | e1, |
const Point & | e2, | ||
const Point & | s1, | ||
const Point & | s2, | ||
bool & | seenIntersectionAtEndpoint | ||
) |
Definition at line 166 of file geometry.cpp.
References pointOnLine(), segmentIntersect(), and vecDir().
Referenced by Avoid::EdgeInf::firstBlocker(), and Avoid::Router::newBlockingShape().
|
static |
Definition at line 415 of file geomtypes.cpp.
References mode, SHORTEN_BOTH, SHORTEN_END, SHORTEN_NONE, SHORTEN_START, and sign().
Referenced by Avoid::Polygon::curvedPolyline().
void Avoid::splitBranchingSegments | ( | Avoid::Polygon & | poly, |
bool | polyIsConn, | ||
Avoid::Polygon & | conn, | ||
const double | tolerance | ||
) |
Definition at line 1572 of file connector.cpp.
References midVertexNumber(), pointOnLine(), Avoid::Polygon::ps, and Avoid::Point::vn.
Referenced by Avoid::ConnectorCrossings::countForSegment().
|
static |
Definition at line 350 of file visibility.cpp.
References Avoid::Router::contains, end, and visible.
Referenced by vertexSweep().
double Avoid::totalLength | ( | const Polygon & | poly | ) |
Definition at line 319 of file geometry.cpp.
References dist(), Avoid::Polygon::ps, and Avoid::Polygon::size().
|
static |
Definition at line 171 of file hyperedgetree.cpp.
References ConnEndEmpty, ConnEndJunction, and Avoid::ConnRef::endpointConnEnds().
Referenced by Avoid::HyperedgeTreeNode::updateConnEnds().
Definition at line 289 of file geomtypes.cpp.
References Avoid::Point::x, and Avoid::Point::y.
Referenced by Avoid::PolygonInterface::offsetPolygon().
Definition at line 807 of file connector.cpp.
References c, db_printf(), Avoid::VertInf::id, Avoid::VertID::isConnCheckpoint(), Avoid::VertID::isConnectionPin(), Avoid::VertInf::point, Avoid::VertInf::shNext, Avoid::VertInf::shPrev, vecDir(), Avoid::Point::x, and Avoid::Point::y.
Referenced by Avoid::ConnRef::generateStandardPath().
|
inlinestatic |
Definition at line 79 of file geometry.h.
References c, Avoid::Point::x, and Avoid::Point::y.
Referenced by colinear(), constructPolygonPath(), cornerSide(), Avoid::ConnectorCrossings::countForSegment(), inBetween(), inPoly(), inValidRegion(), orthogTurnOrder(), pointOnLine(), segmentIntersect(), segmentShapeIntersect(), Avoid::Polygon::simplify(), validateBendPoint(), and vertexSweep().
|
static |
Definition at line 436 of file visibility.cpp.
References Avoid::VertInf::_router, Avoid::EdgeInf::addBlocker(), Avoid::EdgeInf::added(), c, Avoid::VertInfList::connsBegin(), Avoid::Router::contains, Avoid::EdgeInf::db_print(), Avoid::VertID::db_print(), db_printf(), dummyOrthogID(), Avoid::VertInfList::end(), Avoid::EdgeInf::existingEdge(), Avoid::VertInf::id, Avoid::Router::IgnoreRegions, inValidRegion(), Avoid::Router::InvisibilityGrph, Avoid::VertID::isConnectionPin(), Avoid::VertID::isConnPt(), Avoid::VertInf::lstNext, Avoid::VertID::objID, Avoid::VertInf::point, pointOnLine(), segmentIntersect(), Avoid::EdgeInf::setDist(), Avoid::VertInf::shNext, Avoid::VertInf::shPrev, sweepVisible(), vecDir(), Avoid::Router::vertices, xaxis(), and Avoid::Point::y.
Referenced by Avoid::Obstacle::computeVisibilitySweep(), and vertexVisibility().
void Avoid::vertexVisibility | ( | VertInf * | point, |
VertInf * | partner, | ||
bool | knownNew, | ||
const bool | gen_contains | ||
) |
Definition at line 115 of file visibility.cpp.
References Avoid::VertInf::_router, Avoid::EdgeInf::checkEdgeVisibility(), Avoid::VertInfList::connsBegin(), dummyOrthogID(), Avoid::VertInfList::end(), Avoid::Router::generateContains(), Avoid::VertInf::id, Avoid::Router::InvisibilityGrph, Avoid::VertID::isConnPt(), Avoid::VertInf::lstNext, Avoid::VertID::objID, Avoid::VertInf::removeFromGraph(), Avoid::Router::UseLeesAlgorithm, vertexSweep(), and Avoid::Router::vertices.
Referenced by Avoid::ShapeConnectionPin::commonInitForShapeConnection(), Avoid::ConnEnd::getHyperedgeVertex(), Avoid::ConnRef::setRoutingCheckpoints(), Avoid::ShapeConnectionPin::ShapeConnectionPin(), Avoid::ConnRef::updateEndPoint(), and Avoid::ShapeConnectionPin::updateVisibility().
|
static |
Definition at line 59 of file connectionpin.h.
Referenced by Avoid::ShapeConnectionPin::directions(), and Avoid::ShapeConnectionPin::position().
|
static |
Definition at line 58 of file connectionpin.h.
Referenced by main().
|
static |
Definition at line 60 of file connectionpin.h.
Referenced by Avoid::ShapeConnectionPin::directions(), main(), and Avoid::ShapeConnectionPin::position().
|
static |
Definition at line 64 of file connectionpin.h.
Referenced by absoluteOffsetInverse(), and Avoid::ShapeConnectionPin::position().
|
static |
Definition at line 63 of file connectionpin.h.
Referenced by absoluteOffsetInverse(), and Avoid::ShapeConnectionPin::position().
|
static |
Definition at line 61 of file connectionpin.h.
Referenced by Avoid::ShapeConnectionPin::directions(), main(), and Avoid::ShapeConnectionPin::position().
|
static |
Definition at line 57 of file connectionpin.h.
Referenced by Avoid::ShapeConnectionPin::directions(), main(), and Avoid::ShapeConnectionPin::position().
|
static |
Definition at line 37 of file scanline.h.
|
static |
Definition at line 45 of file connectionpin.h.
Referenced by Avoid::JunctionRef::JunctionRef(), and main().
|
static |
Definition at line 44 of file connectionpin.h.
Referenced by Avoid::ConnEnd::assignPinVisibilityTo(), Avoid::ConnEnd::ConnEnd(), Avoid::ConnEnd::disconnect(), and Avoid::ConnEnd::possiblePinPoints().
|
static |
Definition at line 488 of file makepath.cpp.
Referenced by dirLeft(), dirReverse(), dirRight(), estimatedCostSpecific(), orthogonalDirection(), orthogonalDirectionsCount(), and printDirections().
|
static |
Definition at line 487 of file makepath.cpp.
Referenced by dirLeft(), dirReverse(), dirRight(), estimatedCostSpecific(), orthogonalDirection(), orthogonalDirectionsCount(), and printDirections().
|
static |
Definition at line 489 of file makepath.cpp.
Referenced by dirLeft(), dirReverse(), dirRight(), estimatedCostSpecific(), orthogonalDirection(), orthogonalDirectionsCount(), and printDirections().
|
static |
Definition at line 490 of file makepath.cpp.
Referenced by dirLeft(), dirReverse(), dirRight(), estimatedCostSpecific(), orthogonalDirection(), orthogonalDirectionsCount(), and printDirections().
const unsigned int Avoid::CROSSING_NONE = 0 |
Definition at line 501 of file connector.h.
Referenced by Avoid::ConnectorCrossings::clear().
const unsigned int Avoid::CROSSING_SHARES_FIXED_SEGMENT = 8 |
Definition at line 505 of file connector.h.
Referenced by cost(), Avoid::ConnectorCrossings::countForSegment(), Avoid::Router::existsOrthogonalFixedSegmentOverlap(), and Avoid::Router::improveCrossings().
const unsigned int Avoid::CROSSING_SHARES_PATH = 2 |
Definition at line 503 of file connector.h.
Referenced by cost(), Avoid::ConnectorCrossings::countForSegment(), Avoid::Router::existsOrthogonalFixedSegmentOverlap(), Avoid::Router::existsOrthogonalSegmentOverlap(), and Avoid::Router::improveCrossings().
const unsigned int Avoid::CROSSING_SHARES_PATH_AT_END = 4 |
Definition at line 504 of file connector.h.
Referenced by cost(), Avoid::ConnectorCrossings::countForSegment(), Avoid::Router::existsOrthogonalFixedSegmentOverlap(), Avoid::Router::existsOrthogonalSegmentOverlap(), and Avoid::Router::improveCrossings().
const unsigned int Avoid::CROSSING_TOUCHES = 1 |
Definition at line 502 of file connector.h.
Referenced by Avoid::ConnectorCrossings::countForSegment(), and Avoid::Router::existsOrthogonalTouchingPaths().
|
static |
Definition at line 117 of file geometry.h.
Referenced by Avoid::ConnectorCrossings::countForSegment(), rayIntersectPoint(), and segmentIntersectPoint().
|
static |
Definition at line 116 of file geometry.h.
Referenced by segmentIntersectPoint().
|
static |
Constant value representing a ShapeConnectionPin.
Definition at line 123 of file geomtypes.h.
Referenced by Avoid::ShapeConnectionPin::commonInitForShapeConnection(), and Avoid::ShapeConnectionPin::ShapeConnectionPin().
|
static |
Constant value representing an unassigned vertex number.
Definition at line 120 of file geomtypes.h.
Referenced by Avoid::ConnRef::generateCheckpointsPath(), Avoid::ConnEnd::getHyperedgeVertex(), Avoid::VertInfList::getVertexByID(), midVertexNumber(), and Avoid::ReferencingPolygon::ReferencingPolygon().
|
static |
Definition at line 58 of file vpsc.cpp.
Referenced by Avoid::IncSolver::splitBlocks().
|
static |
Definition at line 2161 of file router.cpp.
Referenced by Avoid::Router::outputDiagramSVG(), Avoid::HyperedgeImprover::outputHyperedgesToSVG(), Avoid::Router::outputInstanceToSVG(), and reduceRange().
|
static |
Definition at line 118 of file geometry.h.
Referenced by rayIntersectPoint(), and segmentIntersectPoint().
|
static |
Definition at line 82 of file router.h.
Referenced by Avoid::Router::attachedConns(), and Avoid::Router::attachedShapes().
|
static |
Definition at line 81 of file router.h.
Referenced by Avoid::Router::attachedConns(), and Avoid::Router::attachedShapes().
|
static |
|
static |
Definition at line 408 of file geomtypes.cpp.
Referenced by Avoid::Polygon::curvedPolyline(), and shorten_line().
|
static |
Definition at line 407 of file geomtypes.cpp.
Referenced by Avoid::Polygon::curvedPolyline(), and shorten_line().
|
static |
Definition at line 405 of file geomtypes.cpp.
Referenced by shorten_line().
|
static |
Definition at line 406 of file geomtypes.cpp.
Referenced by Avoid::Polygon::curvedPolyline(), and shorten_line().
|
static |
Definition at line 71 of file timer.h.
Referenced by Avoid::Timer::print(), Avoid::Timer::reset(), Avoid::Timer::varIncrement(), and Avoid::Timer::varMax().
|
static |
Definition at line 109 of file timer.cpp.
Referenced by Avoid::Timer::printAll().
|
static |
Definition at line 42 of file geomtypes.h.
Referenced by Avoid::Node::Node(), Avoid::Node::Node(), Avoid::Node::Node(), Avoid::JunctionRef::preferOrthogonalDimension(), Avoid::ConnRef::splitAtSegment(), and Avoid::ShapeRef::transformConnectionPinPositions().
|
static |
Definition at line 179 of file vertices.h.
|
static |
Definition at line 178 of file vertices.h.
|
static |
Definition at line 177 of file vertices.h.
|
static |
Definition at line 176 of file vertices.h.
|
static |
Definition at line 43 of file geomtypes.h.
Referenced by Avoid::Node::Node(), Avoid::Node::Node(), Avoid::Node::Node(), Avoid::JunctionRef::preferOrthogonalDimension(), Avoid::ConnRef::splitAtSegment(), and Avoid::ShapeRef::transformConnectionPinPositions().
|
static |
Definition at line 183 of file vertices.h.
|
static |
Definition at line 182 of file vertices.h.
|
static |
Definition at line 181 of file vertices.h.
|
static |
Definition at line 180 of file vertices.h.
|
static |
Definition at line 57 of file vpsc.cpp.
Referenced by Avoid::IncSolver::mostViolated(), and Avoid::IncSolver::satisfy().