
org.eclipse.draw2d.graph.VirtualNode Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of draw2d Show documentation
Show all versions of draw2d Show documentation
Eclipse GEF Draw2D Library
The newest version!
/*******************************************************************************
* Copyright (c) 2003, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.draw2d.graph;
import org.eclipse.draw2d.geometry.Insets;
/**
* @deprecated virtual nodes of an edge should be cast to Node.
* @author Randy Hudson
* @since 2.1.2
*/
public class VirtualNode extends Node {
/**
* The next node.
*/
public Node next;
/**
* The previous node.
*/
public Node prev;
/**
* Constructs a virtual node.
*
* @deprecated This class is for internal use only.
* @param e
* the edge
* @param i
* the row
*/
public VirtualNode(Edge e, int i) {
super(e);
incoming.add(e);
outgoing.add(e);
width = e.width;
height = 0;
rank = i;
setPadding(new Insets(0, e.padding, 0, e.padding));
}
/**
* Constructor.
*
* @param o
* object
* @param parent
* subgraph
*/
public VirtualNode(Object o, Subgraph parent) {
super(o, parent);
}
/**
* Returns the index of {@link #prev}.
*
* @return median
*/
public double medianIncoming() {
return prev.index;
}
/**
* Returns the index of {@link #next}.
*
* @return outgoing
*/
public double medianOutgoing() {
return next.index;
}
/**
* For internal use only. Returns the original edge weight multiplied by the
* omega value for the this node and the node on the previous rank.
*
* @return the weighted weight, or omega
*/
public int omega() {
Edge e = (Edge) data;
if (e.source.rank + 1 < rank && rank < e.target.rank)
return 8 * e.weight;
return 2 * e.weight;
}
/**
* @see java.lang.Object#toString()
*/
public String toString() {
if (data instanceof Edge)
return "VN[" + (((Edge) data).vNodes.indexOf(this) + 1) //$NON-NLS-1$
+ "](" + data + ")"; //$NON-NLS-1$ //$NON-NLS-2$
return super.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy