This XL queue can be used for parallel application of
vertex-vertex operations on graph
rotation systems. Given an instance g
of
VVQueue
, one can write:
v [a b c]
- Sets cyclic neighborhood of v to (a, b, c)
a b in v
- Modifies cyclic neighborhood of v such that (a, b) is part of the cycle
~a in v
- Removes a from cyclic neighbourhood of v
a >> b in v
- Replaces a by b in cyclic neighborhood of v
p <+ a +> q
- Splits edge from p to q and inserts a
- Author:
- Ole Kniemeyer
Method Summary |
void |
addNeighbor(GRSVertex neighbor)
|
void |
clear()
Clears the queue. |
void |
clearSegmentsToExclude(int[] segs)
|
QueueDescriptor<?> |
getDescriptor()
Returns the descriptor which was used to create this queue. |
void |
insertAfter(GRSVertex v,
GRSVertex old,
GRSVertex in)
|
void |
insertBefore(GRSVertex v,
GRSVertex old,
GRSVertex in)
|
void |
makeFollower(GRSVertex a,
GRSVertex b,
GRSVertex in)
|
void |
markSegment(int n)
|
VVQueue |
operator$shl(GRSVertex neighbor)
|
boolean |
process(int[] segs)
Processes all queued tasks. |
void |
remove(GRSVertex old,
GRSVertex in)
|
void |
replace(GRSVertex subs,
GRSVertex old,
GRSVertex in)
|
void |
resetToSegment(int n)
|
VVQueue |
setNeighbors(GRSVertex vertex)
|
void |
splitEdge(GRSVertex v,
GRSVertex p,
GRSVertex q)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DESCRIPTOR
public static final QueueDescriptor<VVQueue> DESCRIPTOR
addNeighbor
public void addNeighbor(GRSVertex neighbor)
clear
public void clear()
- Description copied from interface:
Queue
- Clears the queue. This is invoked by the
QueueCollection
in order to reuse the queue for a new transformation step.
- Specified by:
clear
in interface Queue
clearSegmentsToExclude
public void clearSegmentsToExclude(int[] segs)
- Specified by:
clearSegmentsToExclude
in interface Queue
getDescriptor
public QueueDescriptor<?> getDescriptor()
- Description copied from interface:
Queue
- Returns the descriptor which was used to create this queue.
- Specified by:
getDescriptor
in interface Queue
- Returns:
- descriptor of this queue
- See Also:
QueueCollection.getQueue(QueueDescriptor)
,
QueueDescriptor.createQueue(QueueCollection)
insertAfter
public void insertAfter(GRSVertex v,
GRSVertex old,
GRSVertex in)
insertBefore
public void insertBefore(GRSVertex v,
GRSVertex old,
GRSVertex in)
makeFollower
public void makeFollower(GRSVertex a,
GRSVertex b,
GRSVertex in)
markSegment
public void markSegment(int n)
- Specified by:
markSegment
in interface Queue
operator$shl
public VVQueue operator$shl(GRSVertex neighbor)
process
public boolean process(int[] segs)
throws RuntimeModelException
- Description copied from interface:
Queue
- Processes all queued tasks. This method is invoked by
QueueCollection.process(int[])
.
- Specified by:
process
in interface Queue
- Returns:
true
iff the execution of tasks resulted
in modifications to the Graph
- Throws:
RuntimeModelException
- if some error occurs during execution
remove
public void remove(GRSVertex old,
GRSVertex in)
replace
public void replace(GRSVertex subs,
GRSVertex old,
GRSVertex in)
resetToSegment
public void resetToSegment(int n)
- Specified by:
resetToSegment
in interface Queue
setNeighbors
public VVQueue setNeighbors(GRSVertex vertex)
splitEdge
public void splitEdge(GRSVertex v,
GRSVertex p,
GRSVertex q)