Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.port80.graph.dot.impl
Class VirtualVertex  view VirtualVertex download VirtualVertex.java

java.lang.Object
  extended bycom.port80.graph.dot.impl.VirtualVertex

public class VirtualVertex
extends java.lang.Object

Graph vertex with layout information.


Nested Class Summary
(package private) static class VirtualVertex.MedianComparator
           
(package private) static class VirtualVertex.NameComparator
           
(package private) static class VirtualVertex.OrderComparator
           
 
Field Summary
(package private)  int[] adjacencyList
          Flat out edges.
private static int anonymousCount
           
private static int AUX
          VirtualVertex for an input/output bus.
(package private)  int bottom
           
private static int BUS
          VirtualVertex for an edge segment.
private static boolean CHECK
           
private static java.lang.String CLASSNAME
           
(package private)  int[] crossCost
           
private static boolean DEBUG
           
(package private)  int degree
          degree=ins.length+outs.length.
private static int EDGE
          VirtualVertex for an edge label.
private static int EDGELABEL
          VirtualVertex for a subgrpah/cluster.
(package private)  int fanIn
          Since in/out edges may have been merged, fan in/out may not be same as number of in/out edges.
(package private)  int fanOut
           
(package private)  int flatIndex
          Vertex rank.
(package private)  VirtualEdge[] flatIns
          Self edges.
(package private)  VirtualEdge[] flatOuts
          Flat in edges.
private static int GRAPH
          VirtualVertex for an IVertex.
(package private)  boolean hasFlat
          true=has in/out edge.
(package private)  boolean hasIO
          true=has port.
(package private)  boolean hasPort
           
(package private)  VirtualVertex inBus
          Adjacent flatindex list.
(package private)  VirtualEdge[] ins
           
(package private)  int inthreshold
           
(package private)  boolean isErased
           
(package private)  int leftWidth
          Median value.
(package private)  int median
          Index within the rank.
(package private)  java.lang.String name
          NONE,LEADER...etc.
private static java.lang.String NAME
           
private static int NONE
           
(package private)  int order
           
(package private)  java.lang.Object original
           
(package private)  VirtualVertex outBus
           
(package private)  VirtualEdge[] outs
          InterRank in edges.
(package private)  int outthreshold
           
private static java.lang.String PACKAGENAME
           
(package private)  int padding
          Extra spacing from neighbour vertices for expansion of merged edges.
(package private)  VirtualGraph parent
          The original IVertex/IEdge.
(package private)  int rank
          true=has flat edge.
(package private)  int rightWidth
           
(package private)  int[] savedCrossCost
           
(package private)  int savedOrder
           
(package private)  int savex
           
(package private)  VirtualEdge[] selves
          InterRank out edges.
(package private)  com.port80.graph.IGraphShape shape
           
(package private)  int top
           
private  int type
          Used by Mincross, removed before Posiition.
private static int VERSION
           
private static java.lang.String VERSIONNAME
           
private static int VERTEX
           
(package private)  int x
           
(package private)  int y
           
 
Constructor Summary
private VirtualVertex()
           
  VirtualVertex(int rank, com.port80.graph.IEdge e, VirtualGraph parent)
          VirtualVertex created between ends of an edge chain.
  VirtualVertex(int rank, java.lang.String label, com.port80.graph.IEdge e, VirtualGraph parent)
          VirtualVertex represent an IEdge label.
  VirtualVertex(com.port80.graph.IVertex v, VirtualGraph parent)
          Represent an IVertex.
 
Method Summary
 void addIn(VirtualEdge e)
           
 void addOut(VirtualEdge e)
           
 void addSelfEdge(VirtualEdge e)
           
private  void checkInit()
          Check initialization values are valid.
 boolean checkSavedCrossCost()
           
 java.lang.String dump()
           
 void erase()
           
 VirtualEdge findOutChain(VirtualVertex head)
          Find edge chain that terminate with the given head and has no label.
 int getBottom()
           
 VirtualEdge[] getIns()
           
 int getLeftWidth()
           
 java.lang.String getName()
           
 java.lang.Object getOriginal()
           
 VirtualEdge[] getOuts()
           
 int getRank()
           
 int getRightWidth()
           
 int getTop()
           
 int getType()
           
private  VirtualEdge[] grow(VirtualEdge[] a, VirtualEdge e)
           
 boolean hasFlat()
           
 boolean hasSelf()
           
private  void initBounds(java.awt.geom.Rectangle2D bounds)
          Pixel dimensions from given Rectangle2D.
private  void initBounds(VirtualGraph parent)
          Default bounds for interrank virtual vertex.
 boolean isAux()
           
 boolean isBus()
           
 boolean isEdge()
           
 boolean isErased()
           
 boolean isLabel()
           
 boolean isReal()
           
 boolean isSingleConnected()
           
 boolean isUnconnected()
           
 boolean isVirtual()
          Any vertex not represent a real IVertex is virtual.
static VirtualVertex newAuxVertex(java.lang.String name, int rank, VirtualGraph parent)
          Represent a connection from IVertex to its in/out bus replicates.
static VirtualVertex newBusVertex(com.port80.graph.IVertex v, int rank, VirtualGraph parent)
          Represent a connection on the buses.
 void placeLabel()
          Compute position of an edge label from its virtual node.
 int removeIn(VirtualEdge e)
           
 int removeOut(VirtualEdge e)
           
 void restore()
           
 void restoreCrossCost()
           
 void saveCrossCost()
           
private  VirtualEdge[] shrink(VirtualEdge[] a, int i)
           
 java.lang.String toString()
          Convert this Object to a human-readable String.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NAME

private static final java.lang.String NAME
See Also:
Constant Field Values

PACKAGENAME

private static final java.lang.String PACKAGENAME
See Also:
Constant Field Values

CLASSNAME

private static final java.lang.String CLASSNAME
See Also:
Constant Field Values

VERSION

private static final int VERSION
See Also:
Constant Field Values

VERSIONNAME

private static final java.lang.String VERSIONNAME
See Also:
Constant Field Values

DEBUG

private static final boolean DEBUG
See Also:
Constant Field Values

CHECK

private static final boolean CHECK
See Also:
Constant Field Values

anonymousCount

private static int anonymousCount

NONE

private static final int NONE
See Also:
Constant Field Values

VERTEX

private static final int VERTEX
See Also:
Constant Field Values

GRAPH

private static final int GRAPH
VirtualVertex for an IVertex.

See Also:
Constant Field Values

EDGELABEL

private static final int EDGELABEL
VirtualVertex for a subgrpah/cluster.

See Also:
Constant Field Values

EDGE

private static final int EDGE
VirtualVertex for an edge label.

See Also:
Constant Field Values

BUS

private static final int BUS
VirtualVertex for an edge segment.

See Also:
Constant Field Values

AUX

private static final int AUX
VirtualVertex for an input/output bus.

See Also:
Constant Field Values

type

private int type
Used by Mincross, removed before Posiition.


name

java.lang.String name
NONE,LEADER...etc.


original

java.lang.Object original

parent

VirtualGraph parent
The original IVertex/IEdge.


shape

com.port80.graph.IGraphShape shape

ins

VirtualEdge[] ins

outs

VirtualEdge[] outs
InterRank in edges.


selves

VirtualEdge[] selves
InterRank out edges.


flatIns

VirtualEdge[] flatIns
Self edges.


flatOuts

VirtualEdge[] flatOuts
Flat in edges.


adjacencyList

int[] adjacencyList
Flat out edges.


inBus

VirtualVertex inBus
Adjacent flatindex list.


outBus

VirtualVertex outBus

hasPort

boolean hasPort

hasIO

boolean hasIO
true=has port.


hasFlat

boolean hasFlat
true=has in/out edge.


rank

int rank
true=has flat edge.


flatIndex

int flatIndex
Vertex rank.


median

int median
Index within the rank.


leftWidth

int leftWidth
Median value.


rightWidth

int rightWidth

inthreshold

int inthreshold

outthreshold

int outthreshold

padding

int padding
Extra spacing from neighbour vertices for expansion of merged edges. The padding is to be added as reserved space at the neighbours (instead of this vertex) so as to prevent routing of the virtual edge get too close to the neighbour vertex.


top

int top

bottom

int bottom

x

int x

y

int y

fanIn

int fanIn
Since in/out edges may have been merged, fan in/out may not be same as number of in/out edges.


fanOut

int fanOut

degree

int degree
degree=ins.length+outs.length.


order

int order

savedOrder

int savedOrder

savex

int savex

crossCost

int[] crossCost

savedCrossCost

int[] savedCrossCost

isErased

boolean isErased
Constructor Detail

VirtualVertex

private VirtualVertex()

VirtualVertex

public VirtualVertex(com.port80.graph.IVertex v,
                     VirtualGraph parent)
Represent an IVertex.


VirtualVertex

public VirtualVertex(int rank,
                     java.lang.String label,
                     com.port80.graph.IEdge e,
                     VirtualGraph parent)
VirtualVertex represent an IEdge label.


VirtualVertex

public VirtualVertex(int rank,
                     com.port80.graph.IEdge e,
                     VirtualGraph parent)
VirtualVertex created between ends of an edge chain.

Method Detail

newBusVertex

public static VirtualVertex newBusVertex(com.port80.graph.IVertex v,
                                         int rank,
                                         VirtualGraph parent)
Represent a connection on the buses.


newAuxVertex

public static VirtualVertex newAuxVertex(java.lang.String name,
                                         int rank,
                                         VirtualGraph parent)
Represent a connection from IVertex to its in/out bus replicates.


initBounds

private void initBounds(java.awt.geom.Rectangle2D bounds)
Pixel dimensions from given Rectangle2D.


initBounds

private void initBounds(VirtualGraph parent)
Default bounds for interrank virtual vertex.


checkInit

private void checkInit()
Check initialization values are valid.


getType

public int getType()

getName

public java.lang.String getName()

getIns

public VirtualEdge[] getIns()

getOuts

public VirtualEdge[] getOuts()

isUnconnected

public boolean isUnconnected()

isSingleConnected

public boolean isSingleConnected()

isVirtual

public boolean isVirtual()
Any vertex not represent a real IVertex is virtual.


isReal

public boolean isReal()

isEdge

public boolean isEdge()

isLabel

public boolean isLabel()

isBus

public boolean isBus()

isAux

public boolean isAux()

hasFlat

public boolean hasFlat()

hasSelf

public boolean hasSelf()

getOriginal

public java.lang.Object getOriginal()

getRank

public int getRank()

getLeftWidth

public int getLeftWidth()

getRightWidth

public int getRightWidth()

getTop

public int getTop()

getBottom

public int getBottom()

toString

public java.lang.String toString()
Description copied from class: java.lang.Object
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it into System.out.println() 55 and such.

It is typical, but not required, to ensure that this method never completes abruptly with a java.lang.RuntimeException.

This method will be called when performing string concatenation with this object. If the result is null, string concatenation will instead use "null".

The default implementation returns getClass().getName() + "@" + Integer.toHexString(hashCode()).


dump

public java.lang.String dump()

placeLabel

public void placeLabel()
Compute position of an edge label from its virtual node. Edge label is placed with its lower-left corner at the center of the VirtualVertex.


removeIn

public int removeIn(VirtualEdge e)

removeOut

public int removeOut(VirtualEdge e)

addSelfEdge

public void addSelfEdge(VirtualEdge e)

addIn

public void addIn(VirtualEdge e)

addOut

public void addOut(VirtualEdge e)

findOutChain

public VirtualEdge findOutChain(VirtualVertex head)
Find edge chain that terminate with the given head and has no label.


grow

private VirtualEdge[] grow(VirtualEdge[] a,
                           VirtualEdge e)

shrink

private VirtualEdge[] shrink(VirtualEdge[] a,
                             int i)

erase

public void erase()

restore

public void restore()

isErased

public boolean isErased()

saveCrossCost

public void saveCrossCost()

restoreCrossCost

public void restoreCrossCost()

checkSavedCrossCost

public boolean checkSavedCrossCost()