public class DefaultRoutingPointLayouter extends java.lang.Object implements RoutingPointLayouter
Modifier and Type | Field and Description |
---|---|
protected int |
iterationsLeft |
int |
minDistance |
Constructor and Description |
---|
DefaultRoutingPointLayouter() |
Modifier and Type | Method and Description |
---|---|
static double |
AbsSlope(java.awt.Point a,
java.awt.Point b) |
void |
addFourthRoutingPoint(ProcessEdge edge) |
void |
addStair(ProcessEdge edge) |
boolean |
deltaIntersect(ProcessEdge edge) |
boolean |
endDirectionsCorrect(ProcessEdge edge,
boolean strict) |
static java.awt.Point |
getRelativePosition(java.awt.Point base,
java.awt.Point p) |
static boolean |
horizontallyContained(ProcessNode node,
java.awt.Point p,
int delta) |
boolean |
isCorrectlyLayouted(ProcessEdge edge)
Checks whether an edge is layouted correctly accoring to the criteria of this layouter
|
static boolean |
isDown(java.awt.Point p1,
java.awt.Point p2) |
static boolean |
isEastDockingPoint(java.awt.Point p,
ProcessNode n) |
static boolean |
isHorizontal(java.awt.Point p1,
java.awt.Point p2) |
static boolean |
isHorizontalDockingPoint(java.awt.Point p,
ProcessNode n) |
static boolean |
isInBetween(int inBetween,
int a,
int b) |
static boolean |
isLeft(java.awt.Point p1,
java.awt.Point p2) |
static boolean |
isNorthDockingPoint(java.awt.Point p,
ProcessNode n) |
static boolean |
isRight(java.awt.Point p1,
java.awt.Point p2) |
static boolean |
isSouthDockingPoint(java.awt.Point p,
ProcessNode n) |
static boolean |
isStraight(java.awt.Point p1,
java.awt.Point p2) |
static boolean |
isStraight(ProcessEdge edge,
int start,
int minusEnd) |
static boolean |
isUp(java.awt.Point p1,
java.awt.Point p2) |
static boolean |
isVertical(java.awt.Point p1,
java.awt.Point p2) |
static boolean |
isVerticalDockingPoint(java.awt.Point p,
ProcessNode n) |
static boolean |
isWestDockingPoint(java.awt.Point p,
ProcessNode n) |
static int |
middle(int a,
int b) |
boolean |
nodesEmpty(ProcessEdge edge) |
void |
optimizeAllEdges(ProcessNode changedNode) |
void |
optimizeRoutingPoints(ProcessEdge edge,
ProcessNode updatedNode)
Optimizes the routing points on the given edge.
|
void |
processEdgeAdded(ProcessEdge edge)
Is called if a ProcessEdge is added to the model.
|
void |
processEdgeRemoved(ProcessEdge edge)
Is called if a ProcessEdge is removed from the model.
|
void |
processNodeAdded(ProcessNode newNode)
Is called if a ProcessNode is added to the model.
|
void |
processNodeRemoved(ProcessNode remNode)
Is called if a ProcessNode is removed from the model.
|
void |
processObjectPropertyChange(ProcessObject obj,
java.lang.String name,
java.lang.String oldValue,
java.lang.String newValue)
Is called each time a property of a contained ProcessObject changes.
|
void |
rectifyEdge(ProcessEdge edge) |
static void |
reverse(java.awt.Point p1) |
static void |
reverse(java.awt.Point p1,
java.awt.Point p2) |
static void |
reverse(java.awt.Point p1,
java.awt.Point p2,
java.awt.Point p3) |
static void |
reverse(java.awt.Point p1,
java.awt.Point p2,
java.awt.Point p3,
java.awt.Point p4) |
static java.awt.Point |
reversedPoint(java.awt.Point p) |
void |
setEastDockingPoint(ProcessEdge edge,
boolean isSource) |
void |
setNorthDockingPoint(ProcessEdge edge,
boolean isSource) |
void |
setSouthDockingPoint(ProcessEdge edge,
boolean isSource) |
void |
setWestDockingPoint(ProcessEdge edge,
boolean isSource) |
static boolean |
verticallyConatained(ProcessNode node,
java.awt.Point p,
int delta) |
public static double AbsSlope(java.awt.Point a, java.awt.Point b)
public static boolean horizontallyContained(ProcessNode node, java.awt.Point p, int delta)
public static boolean verticallyConatained(ProcessNode node, java.awt.Point p, int delta)
public static boolean isHorizontalDockingPoint(java.awt.Point p, ProcessNode n)
public static boolean isVerticalDockingPoint(java.awt.Point p, ProcessNode n)
public static boolean isNorthDockingPoint(java.awt.Point p, ProcessNode n)
public static boolean isSouthDockingPoint(java.awt.Point p, ProcessNode n)
public static boolean isEastDockingPoint(java.awt.Point p, ProcessNode n)
public static boolean isWestDockingPoint(java.awt.Point p, ProcessNode n)
public static boolean isHorizontal(java.awt.Point p1, java.awt.Point p2)
public static boolean isVertical(java.awt.Point p1, java.awt.Point p2)
public static boolean isStraight(java.awt.Point p1, java.awt.Point p2)
public void addStair(ProcessEdge edge)
public void addFourthRoutingPoint(ProcessEdge edge)
public void optimizeRoutingPoints(ProcessEdge edge, ProcessNode updatedNode)
RoutingPointLayouter
optimizeRoutingPoints
in interface RoutingPointLayouter
edge
- The edge to be modifiedupdatedNode
- The node that has changed its positionpublic boolean endDirectionsCorrect(ProcessEdge edge, boolean strict)
public void rectifyEdge(ProcessEdge edge)
public static boolean isStraight(ProcessEdge edge, int start, int minusEnd)
public boolean nodesEmpty(ProcessEdge edge)
public static java.awt.Point getRelativePosition(java.awt.Point base, java.awt.Point p)
public static java.awt.Point reversedPoint(java.awt.Point p)
public static void reverse(java.awt.Point p1)
public static void reverse(java.awt.Point p1, java.awt.Point p2)
public static void reverse(java.awt.Point p1, java.awt.Point p2, java.awt.Point p3)
public static void reverse(java.awt.Point p1, java.awt.Point p2, java.awt.Point p3, java.awt.Point p4)
public static int middle(int a, int b)
public static boolean isInBetween(int inBetween, int a, int b)
public boolean deltaIntersect(ProcessEdge edge)
public static boolean isLeft(java.awt.Point p1, java.awt.Point p2)
public static boolean isRight(java.awt.Point p1, java.awt.Point p2)
public static boolean isUp(java.awt.Point p1, java.awt.Point p2)
public static boolean isDown(java.awt.Point p1, java.awt.Point p2)
public void optimizeAllEdges(ProcessNode changedNode)
optimizeAllEdges
in interface RoutingPointLayouter
public void setSouthDockingPoint(ProcessEdge edge, boolean isSource)
public void setNorthDockingPoint(ProcessEdge edge, boolean isSource)
public void setWestDockingPoint(ProcessEdge edge, boolean isSource)
public void setEastDockingPoint(ProcessEdge edge, boolean isSource)
public void processNodeAdded(ProcessNode newNode)
ProcessModelListener
processNodeAdded
in interface ProcessModelListener
public void processNodeRemoved(ProcessNode remNode)
ProcessModelListener
processNodeRemoved
in interface ProcessModelListener
public void processEdgeAdded(ProcessEdge edge)
ProcessModelListener
processEdgeAdded
in interface ProcessModelListener
public void processEdgeRemoved(ProcessEdge edge)
ProcessModelListener
processEdgeRemoved
in interface ProcessModelListener
public void processObjectPropertyChange(ProcessObject obj, java.lang.String name, java.lang.String oldValue, java.lang.String newValue)
ProcessModelListener
processObjectPropertyChange
in interface ProcessModelListener
public boolean isCorrectlyLayouted(ProcessEdge edge)
RoutingPointLayouter
isCorrectlyLayouted
in interface RoutingPointLayouter
edge
- The edge to check