ilog.views.hypergraph.edgeconnector
Class IlvHyperEdgeConnector

java.lang.Object
  extended by ilog.views.IlvGraphic
      extended by ilog.views.hypergraph.edgeconnector.IlvHyperEdgeConnector
All Implemented Interfaces:
IlvPersistentObject, Transferable, Serializable
Direct Known Subclasses:
IlvHyperEdgeConnectorWithCache

public abstract class IlvHyperEdgeConnector
extends IlvGraphic

The hyperedge connector is dedicated to the computation of the connection points of hyperedges (IlvHyperEdge) in a hypergrapher (IlvHyperGrapher).

The mechanism is slightly different than the IlvLinkConnector of IlvLinkImage. When a hyperedge is created and connected to nodes, it is attached to the point specified by IlvHyperEdgeEnd to the node. If no hyperedge connector is used, the hyper edge end can be freely moved (comparable to the IlvFreeLinkConnector of IlvLinkImage). In order to restrict the possible attachment points, a hyperedge connector can be used.

An IlvHyperEdgeConnector can be associated with a node or with a hyperedge (returned by the method getOwner()). It cannot be shared among multiple nodes and hyperedges. In order to associate the connector with a node or hyperedge, use the constructor IlvHyperEdgeConnector(IlvGraphic) or use the method attach(IlvGraphic, boolean). Notice that the same instance of hyperedge connector cannot be shared by several nodes or hyperedges.

The implementation of the method getConnectionPoint(ilog.views.hypergraph.IlvHyperEdgeEnd, ilog.views.IlvTransformer) decides where the connection point of a hyperedge end (provided as an argument) should be located. This method is called for all ends of a hyperedge if the connector is associated with the hyperedge. It is called for all ends of hyperedges ending at a node if the connector is associated with the node, except for those hyperedges that have an individual hyperedge connector.

Hyperedge connectors at nodes may be visible. For instance the pin connector IlvHyperEdgePinConnector can display the pins of the connector. Therefore, the class IlvHyperEdgeConnector is a subclass of IlvGraphic. The method isGraphic() decides whether the hyperedge connector must be displayed or whether it is purely a computation mechanism. If it is purely a computation mechanism, it is never added to any grapher.

Since:
JViews 8.0
See Also:
IlvHyperEdge, IlvHyperEdgePinConnector, Serialized Form

Nested Class Summary
static class IlvHyperEdgeConnector.HyperEdgeConnectorProperty
          This named property stores the hyperedge connector at a node.
 
Field Summary
static int IN_BACK
          Layer mode option.
static int IN_FIXED_LAYER
          Layer mode option.
static int IN_FRONT
          Layer mode option.
static int IN_NODE_LAYER
          Layer mode option.
 
Constructor Summary
IlvHyperEdgeConnector()
          Creates an empty IlvHyperEdgeConnector.
IlvHyperEdgeConnector(IlvGraphic obj)
          Creates an IlvHyperEdgeConnector attached to the input object, which can be a node or a hyperedge.
IlvHyperEdgeConnector(IlvHyperEdgeConnector source)
          Creates an IlvHyperEdgeConnector by copying an existing one.
IlvHyperEdgeConnector(IlvInputStream stream)
          Reads the object from an IlvInputStream.
 
Method Summary
 void actAfterLayerChanged(IlvGraphic nodeOrEdge, boolean redraw)
          React when the layer of the node or hyperedge has changed.
 void actAfterOwnerTransform(boolean redraw)
          React when there was an applyTransform on the node or hyperedge.
 void actOnOwnerInserted(IlvGraphic nodeOrEdge, boolean redraw)
          React when the node or hyperedge of this connector is inserted into a hypergrapher.
 void actOnOwnerRead(IlvGraphic nodeOrEdge)
          React after the node or hyperedge is read from an IVL file.
 void actOnOwnerRemoved(IlvGraphic nodeOrEdge, boolean redraw)
          React before the node or hyperedge is removed from its manager.
 void actOnRead(IlvHyperEdgeEnd end, IlvInputStream stream)
          Called when reading the hyperedge end from the input stream.
 void actOnWrite(IlvHyperEdgeEnd end, IlvOutputStream stream)
          Called when writing the hyperedge end to the output stream.
 void adjust(IlvHyperEdgeEnd end)
          Adjusts one ends connected to the hyperedge connector.
 void adjustAll()
          Adjusts all ends connected to the hyperedge connector.
 boolean allowRemoval()
          Returns whether it currently allowed to remove the connector from its manager.
 boolean allowsConnectionPointMove(IlvHyperEdgeEnd end)
          Indicates whether the connection point of a hyperedge can be moved by interactors.
 void applyTransform(IlvTransformer t)
          Applies a transformation to the shape of the object.
 void attach(IlvGraphic nodeOrEdge, boolean redraw)
          Installs the hyperedge connector on a node or hyperedge.
protected  void attachImpl(IlvGraphic obj)
          This method is called inside attach(ilog.views.IlvGraphic, boolean) to attach the connector to the node or hyperedge.
 IlvRect boundingBox(IlvTransformer t)
          Returns the bounding rectangle of the object.
protected  IlvRect calcBoundingBox(IlvTransformer t)
          Calculates the bounding rectangle of the object.
 void clearBoundingBoxCache()
          Clears the bounding box cache.
 boolean connect(IlvHyperEdgeEnd end, IlvPoint p, IlvTransformer t)
          Connect a hyperedge end to hyperedge connector.
 boolean connectionsZoomable()
          Returns true if the connection points of the hyperedge at zoomable nodes are zoomable.
 boolean contains(IlvPoint p, IlvPoint tp, IlvTransformer t)
          Tests if a point lies within the outline of the object.
 void detach(boolean redraw)
          Detaches the hyperedge connector from the attached node or hyperedge.
protected  void detachImpl()
          This method is called inside detach(boolean) to detach the connector from the node or hyperedge.
 boolean disconnect(IlvHyperEdgeEnd end)
          Disconnect a hyperedge end from the hyperedge connector.
 void draw(Graphics dst, IlvTransformer t)
          Draws the object.
static IlvHyperEdgeConnector Get(IlvHyperEdgeEnd end)
          Returns the hyperedge connector that is responsible for handling the input hyperedge end.
static IlvHyperEdgeConnector GetAttached(IlvGraphic nodeOrEdge)
          Returns the hyperedge connector of a node or hyperedge.
abstract  IlvPoint getClosestConnectionPoint(IlvHyperEdgeEnd end, IlvPoint p, IlvTransformer t)
          Returns the closest possible connection point of the hyperedge end at the corresponding node.
abstract  IlvPoint getConnectionPoint(IlvHyperEdgeEnd end, IlvTransformer t)
          Returns the connection point of the hyperedge end at the corresponding node.
 int getFixedLayer()
          Returns the layer of the connector if the layer mode is IN_FIXED_LAYER.
 int getLayerMode()
          Returns the layer mode.
static IlvHyperEdgeConnector GetLocal(IlvHyperEdgeEnd end)
          Returns the hyperedge connector of the hyperedge, if any.
 IlvGraphic getOwner()
          Returns the node or hyperedge associated with the hyperedge connector.
 boolean isConnectionPointMoveAllowed()
          Returns whether it is globally allowed to move the connection points interactively.
 boolean isGraphic()
          Returns whether the connector displays a visible part.
 void move(float x, float y)
          Moves the object.
 void moveResize(IlvRect size)
          Resizes the object.
 void resize(float neww, float newh)
          Resizes the object.
 void rotate(IlvPoint center, double angle)
          Rotates the object.
 void scale(double scalex, double scaley)
          Resizes the object.
 void setConnectionPointMoveAllowed(boolean allow)
          Sets whether it is globally allowed to move the connection points interactively.
 void setFixedLayer(int layer)
          Sets the layer of the connector if the layer mode is IN_FIXED_LAYER.
 void setLayerMode(int mode)
          Sets the layer mode.
 void translate(float dx, float dy)
          Translates the object.
 void write(IlvOutputStream stream)
          Writes the object to an IlvOutputStream.
 boolean zoomable()
          Returns true if the object is zoomable; otherwise it returns false.
 
Methods inherited from class ilog.views.IlvGraphic
addActionListener, addNamedPropertyListener, boundingBox, copy, getAndAssociateObjectInteractor, getCenter, getDefaultInteractor, getGraphicBag, GetGraphicObject, getIntersectionWithOutline, getName, getNamedProperty, getObjectInteractor, getPopupMenu, getPopupMenu, getPopupMenuName, getProperty, getToolTipText, getToolTipText, getTopLevelGraphicBag, getTransferData, getTransferDataFlavors, hasProperty, inside, intersects, isDataFlavorSupported, isEditable, isInApplyToObject, isMovable, isPersistent, isSelectable, isVisible, makeSelection, move, notifyObjectInteractorToManager, processActionEvent, reDraw, removeActionListener, removeNamedProperty, removeNamedPropertyListener, removeProperty, replaceProperty, setBackground, setEditable, setFillOn, setForeground, setGraphicBag, setInApplyToObject, setMovable, setName, setNamedProperty, setNameImpl, setObjectInteractor, setPopupMenu, setPopupMenuName, setProperty, setSelectable, setStrokeOn, setToolTipText, setVisible, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

IN_NODE_LAYER

public static final int IN_NODE_LAYER
Layer mode option. If the connector acts as graphic object, it is placed in the same layer as the node.

See Also:
setLayerMode(int), isGraphic(), Constant Field Values

IN_FRONT

public static final int IN_FRONT
Layer mode option. If the connector acts as graphic object, it is placed in the a layer above the node layer. For instance, if the connector displays pins, the pins may overlap the nodes.

See Also:
setLayerMode(int), isGraphic(), IlvHyperEdgePinConnector, Constant Field Values

IN_BACK

public static final int IN_BACK
Layer mode option. If the connector acts as graphic object, it is placed in the a layer below the node layer. For instance, if the connector displays pins, the node may overlap the pins.

See Also:
setLayerMode(int), isGraphic(), IlvHyperEdgePinConnector, Constant Field Values

IN_FIXED_LAYER

public static final int IN_FIXED_LAYER
Layer mode option. If the connector acts as graphic object, it is placed in a fixed layer specified by setFixedLayer(int).

See Also:
setLayerMode(int), isGraphic(), Constant Field Values
Constructor Detail

IlvHyperEdgeConnector

public IlvHyperEdgeConnector()
Creates an empty IlvHyperEdgeConnector. To attach the connector to a node or hyperedge, call attach(ilog.views.IlvGraphic, boolean).


IlvHyperEdgeConnector

public IlvHyperEdgeConnector(IlvGraphic obj)
Creates an IlvHyperEdgeConnector attached to the input object, which can be a node or a hyperedge.


IlvHyperEdgeConnector

public IlvHyperEdgeConnector(IlvHyperEdgeConnector source)
Creates an IlvHyperEdgeConnector by copying an existing one.

Parameters:
source - The origin of the copy.

IlvHyperEdgeConnector

public IlvHyperEdgeConnector(IlvInputStream stream)
                      throws IlvReadFileException
Reads the object from an IlvInputStream.

Parameters:
stream - The input stream.
Throws:
IlvReadFileException - if the format is not correct.
Method Detail

write

public void write(IlvOutputStream stream)
           throws IOException
Writes the object to an IlvOutputStream. You should not call this method directly; instead, you should use the write methods of the manager.

Specified by:
write in interface IlvPersistentObject
Overrides:
write in class IlvGraphic
Parameters:
stream - The output stream.
Throws:
IOException - thrown when an exception occurs during the write operation for this object.

isGraphic

public boolean isGraphic()
Returns whether the connector displays a visible part. This means the connector acts like an IlvGraphic. A connector that displays a visible part can only be attached to a node, not to a hyperedge. If true, the connector is added to the same manager as the associated node, and hence is displayed in the manager. The layer where the connector is placed can be specified by the layer mode (see setLayerMode(int). This determines whether the visible part of the connector overlaps the node or not. The default implementation returns false.


attach

public void attach(IlvGraphic nodeOrEdge,
                   boolean redraw)
Installs the hyperedge connector on a node or hyperedge. After installation, the hyperedge connector controls the connection points where a hyperedge can attach at a node. If a connector is attached to a hyperedge, it controls all end points of the hyperedge. If a connector is attached to a node, it controls all end points of all incident hyperedges that are not attached to an individual connector.

The method getOwner() returns the node or hyperedge this connector is attached to.

The method detach(boolean) is automatically called to detach the old attached owner, if any. Also, if any other hyperedge connector was attached to this owner, it gets detached.

If the connector is attached to a node inside a grapher and if isGraphic() returns true, the hyperedge connector is inserted into the grapher.

Parameters:
nodeOrEdge - The node or hyperedge the connector is attached to.
redraw - If true, the manager is redrawn.
See Also:
detach(boolean)

attachImpl

protected void attachImpl(IlvGraphic obj)
This method is called inside attach(ilog.views.IlvGraphic, boolean) to attach the connector to the node or hyperedge. You should not call this. You can override this method in order to perform additional operations for specific subclasses of IlvHyperEdgeConnector.

Parameters:
obj - The node or hyperedge the connector is attached to.

detach

public void detach(boolean redraw)
Detaches the hyperedge connector from the attached node or hyperedge. Afterwards, the hyperedge connector does not anymore control the connection points where a hyperedge can attach at a node.

If the connector was attached to a node inside a grapher and if isGraphic() returns true, the hyperedge connector is removed from the grapher.

Parameters:
redraw - If true, the manager is redrawn.
See Also:
attach(IlvGraphic, boolean)

detachImpl

protected void detachImpl()
This method is called inside detach(boolean) to detach the connector from the node or hyperedge. You should not call this. You can override this method in order to perform additional operations for specific subclasses of IlvHyperEdgeConnector.


allowRemoval

public boolean allowRemoval()
Returns whether it currently allowed to remove the connector from its manager. This method exists for internal reasons.


setConnectionPointMoveAllowed

public void setConnectionPointMoveAllowed(boolean allow)
Sets whether it is globally allowed to move the connection points interactively.

See Also:
allowsConnectionPointMove(ilog.views.hypergraph.IlvHyperEdgeEnd)

isConnectionPointMoveAllowed

public boolean isConnectionPointMoveAllowed()
Returns whether it is globally allowed to move the connection points interactively.

See Also:
allowsConnectionPointMove(ilog.views.hypergraph.IlvHyperEdgeEnd)

allowsConnectionPointMove

public boolean allowsConnectionPointMove(IlvHyperEdgeEnd end)
Indicates whether the connection point of a hyperedge can be moved by interactors.

The default implementation returns the same result as isConnectionPointMoveAllowed(). Subclasses can override this method to indicate to the interactors that either all or some connection points cannot be moved.


actOnOwnerInserted

public void actOnOwnerInserted(IlvGraphic nodeOrEdge,
                               boolean redraw)
React when the node or hyperedge of this connector is inserted into a hypergrapher. You should not call this methods.

Parameters:
nodeOrEdge - The node or hyperedge the connector is attached to.
redraw - If true, the manager is redrawn.

actOnOwnerRead

public void actOnOwnerRead(IlvGraphic nodeOrEdge)
React after the node or hyperedge is read from an IVL file. You should not call this methods.

Parameters:
nodeOrEdge - The node or hyperedge the connector is attached to.

actOnOwnerRemoved

public void actOnOwnerRemoved(IlvGraphic nodeOrEdge,
                              boolean redraw)
React before the node or hyperedge is removed from its manager. You should not call this methods.

Parameters:
nodeOrEdge - The node or hyperedge the connector is attached to.
redraw - If true, the manager is redrawn.

actAfterOwnerTransform

public void actAfterOwnerTransform(boolean redraw)
React when there was an applyTransform on the node or hyperedge. You should not call this methods.

Parameters:
redraw - If true, the manager is redrawn.

actAfterLayerChanged

public void actAfterLayerChanged(IlvGraphic nodeOrEdge,
                                 boolean redraw)
React when the layer of the node or hyperedge has changed. You should not call this methods.

Parameters:
nodeOrEdge - The node or hyperedge the connector is attached to.
redraw - If true, the manager is redrawn.

getOwner

public IlvGraphic getOwner()
Returns the node or hyperedge associated with the hyperedge connector.

See Also:
attach(IlvGraphic, boolean)

connect

public boolean connect(IlvHyperEdgeEnd end,
                       IlvPoint p,
                       IlvTransformer t)
Connect a hyperedge end to hyperedge connector. If the hyperedge is inside a grapher, this must be done inside an applyToObject session of the hyperedge that has the hyperedge end (see IlvManager.applyToObject(ilog.views.IlvGraphic, ilog.views.IlvApplyObject, java.lang.Object, boolean)).

The default implementation simply calls getClosestConnectionPoint(ilog.views.hypergraph.IlvHyperEdgeEnd, ilog.views.IlvPoint, ilog.views.IlvTransformer) and moves the hyperedge end point to this point.

Parameters:
end - The hyperedge end.
p - The proposed connection point in transformed coordinates.
t - The transformer used to draw the hyperedge.
Returns:
true if the connection was successful, false otherwise.
See Also:
disconnect(ilog.views.hypergraph.IlvHyperEdgeEnd)

disconnect

public boolean disconnect(IlvHyperEdgeEnd end)
Disconnect a hyperedge end from the hyperedge connector. This is called when the hyperedge end is removed from the hyperedge, so that the hyperedge is not anymore incident to the corresponding node. If the hyperedge is inside a grapher, this must be done inside an applyToObject session of the hyperedge that has the hyperedge end (see IlvManager.applyToObject(ilog.views.IlvGraphic, ilog.views.IlvApplyObject, java.lang.Object, boolean)). The default implementation does nothing and returns true.

Parameters:
end - The hyperedge end.
Returns:
true if the end was connected, false otherwise.
See Also:
connect(ilog.views.hypergraph.IlvHyperEdgeEnd, ilog.views.IlvPoint, ilog.views.IlvTransformer)

getConnectionPoint

public abstract IlvPoint getConnectionPoint(IlvHyperEdgeEnd end,
                                            IlvTransformer t)
Returns the connection point of the hyperedge end at the corresponding node.

Parameters:
end - The hyperedge end.
t - The transformer used to draw the hyperedge.
Returns:
The connection point at the node in view coordinates

getClosestConnectionPoint

public abstract IlvPoint getClosestConnectionPoint(IlvHyperEdgeEnd end,
                                                   IlvPoint p,
                                                   IlvTransformer t)
Returns the closest possible connection point of the hyperedge end at the corresponding node.

Parameters:
end - The hyperedge end.
p - The proposed point in view coordinates.
t - The transformer used to draw the hyperedge.
Returns:
The closest connection point at the node in view coordinates.

adjustAll

public void adjustAll()
Adjusts all ends connected to the hyperedge connector. This is called when the node or hyperedge has moved. The default implementation calls adjust(ilog.views.hypergraph.IlvHyperEdgeEnd) for all ends that are managed by this hyperedge connector.


adjust

public void adjust(IlvHyperEdgeEnd end)
Adjusts one ends connected to the hyperedge connector. This is called when the node or hyperedge has moved. The default implementation calls IlvHyperEdgeEnd.positionChanged().


actOnWrite

public void actOnWrite(IlvHyperEdgeEnd end,
                       IlvOutputStream stream)
                throws IOException
Called when writing the hyperedge end to the output stream. The default implementation does nothing.

You must override this method if specific data is to be stored.

You should not call this method directly; instead, you should use the write methods of the IlvGrapher that contains node or hyperedge to which the hyperedge connector is attached.

Parameters:
end - The hyperedge end.
stream - The output stream.
Throws:
IOException

actOnRead

public void actOnRead(IlvHyperEdgeEnd end,
                      IlvInputStream stream)
               throws IlvReadFileException
Called when reading the hyperedge end from the input stream. The default implementation does nothing.

You must override this method if specific data is to be read.

You should not call this method directly; instead, you should use the read methods of the IlvGrapher that contains the node or hyperedge to which the hyperedge connector is attached.

Parameters:
end - The hyperedge end.
stream - The input stream.
Throws:
IlvReadFileException

setLayerMode

public void setLayerMode(int mode)
Sets the layer mode. If the connector displays a visible part, it acts like a an IlvGraphic. In this case, isGraphic() returns true and the connector can only be attached at a node. It is added to the same manager as the associated node, and hence is displayed in the manager. The layer mode determines the manager layer where to place the connector. The options are:

See Also:
getLayerMode(), isGraphic()

getLayerMode

public int getLayerMode()
Returns the layer mode.

See Also:
setLayerMode(int)

setFixedLayer

public void setFixedLayer(int layer)
Sets the layer of the connector if the layer mode is IN_FIXED_LAYER.

See Also:
setLayerMode(int), getFixedLayer()

getFixedLayer

public int getFixedLayer()
Returns the layer of the connector if the layer mode is IN_FIXED_LAYER.

See Also:
setLayerMode(int), setFixedLayer(int)

connectionsZoomable

public boolean connectionsZoomable()
Returns true if the connection points of the hyperedge at zoomable nodes are zoomable. A connection point is zoomable if calling the method getConnectionPoint(ilog.views.hypergraph.IlvHyperEdgeEnd, ilog.views.IlvTransformer) with a transformer gives the same result as calling it with a null (identity) transformer and then applying the transformer to the result. This is only tested if the hyperedge end is attached to a zoomable node.

Note that an instance of a hyperedge connector must return the same value as long as it is attached to the same object.

The default implementation returns false.

Don't confuse this with the method zoomable() which indicates whether the connector as graphic object would be zoomable.


zoomable

public boolean zoomable()
Returns true if the object is zoomable; otherwise it returns false. This method is only used if isGraphic() returns true, i.e., if the connector behaves like an IlvGraphic.

Overrides:
zoomable in class IlvGraphic
See Also:
draw(java.awt.Graphics, ilog.views.IlvTransformer), boundingBox(ilog.views.IlvTransformer), boundingBox(ilog.views.IlvTransformer)

draw

public void draw(Graphics dst,
                 IlvTransformer t)
Draws the object. This method is only used if isGraphic() returns true, i.e., if the connector behaves like an IlvGraphic.

Specified by:
draw in class IlvGraphic
Parameters:
dst - The destination Graphics.
t - The transformation used to draw the object.
See Also:
boundingBox(ilog.views.IlvTransformer), zoomable()

boundingBox

public IlvRect boundingBox(IlvTransformer t)
Returns the bounding rectangle of the object. It uses a cache of bounding boxes. If the bounding box is not cached, it calls calcBoundingBox(ilog.views.IlvTransformer) to calculate the bounding box. This method is only used if isGraphic() returns true, i.e., if the connector behaves like an IlvGraphic.

Specified by:
boundingBox in class IlvGraphic
Parameters:
t - The transformer used to draw the object. The value null can be used for the identity transformer.
See Also:
draw(java.awt.Graphics, ilog.views.IlvTransformer), zoomable()

calcBoundingBox

protected IlvRect calcBoundingBox(IlvTransformer t)
Calculates the bounding rectangle of the object. This method does not use any cache (see boundingBox(ilog.views.IlvTransformer)).

Parameters:
t - The transformer used to draw the object.

clearBoundingBoxCache

public void clearBoundingBoxCache()
Clears the bounding box cache. See boundingBox(ilog.views.IlvTransformer).


applyTransform

public void applyTransform(IlvTransformer t)
Applies a transformation to the shape of the object. This method is only used if isGraphic() returns true, i.e., if the connector behaves like an IlvGraphic.

Specified by:
applyTransform in class IlvGraphic
Parameters:
t - The transformer to be applied.
See Also:
IlvGraphic

contains

public boolean contains(IlvPoint p,
                        IlvPoint tp,
                        IlvTransformer t)
Tests if a point lies within the outline of the object. This method is only used if isGraphic() returns true, i.e., if the connector behaves like an IlvGraphic.

Overrides:
contains in class IlvGraphic
Parameters:
p - The point to be tested.
tp - The point p transformed by the transformer t.
t - The transformation used to draw the object.
Returns:
true if the point lies inside this graphic object.
See Also:
IlvGraphic

move

public void move(float x,
                 float y)
Moves the object. This object cannot be moved. It is always at the position of the attached node.

Overrides:
move in class IlvGraphic
Parameters:
x - The new horizontal value.
y - The new vertical value.
See Also:
IlvGraphic, IlvGraphic.applyTransform(IlvTransformer)

moveResize

public void moveResize(IlvRect size)
Resizes the object. This object cannot be resized. It is always at the position of the attached node.

Overrides:
moveResize in class IlvGraphic
Parameters:
size - The new bounding rectangle of the object.
See Also:
IlvGraphic, IlvGraphic.applyTransform(IlvTransformer)

translate

public void translate(float dx,
                      float dy)
Translates the object. This object cannot be translated. It is always at the position of the attached node.

Overrides:
translate in class IlvGraphic
Parameters:
dx - The horizontal translation factor.
dy - The vertical translation factor.
See Also:
IlvGraphic, IlvGraphic.applyTransform(IlvTransformer)

rotate

public void rotate(IlvPoint center,
                   double angle)
Rotates the object. This object cannot be rotated. It is always at the position of the attached node.

Overrides:
rotate in class IlvGraphic
Parameters:
center - The center of the rotation.
angle - The rotation angle in degrees.
See Also:
IlvGraphic, IlvGraphic.applyTransform(IlvTransformer)

scale

public void scale(double scalex,
                  double scaley)
Resizes the object. This object cannot be resized. It is always at the position of the attached node.

Overrides:
scale in class IlvGraphic
Parameters:
scalex - The horizontal scaling factor.
scaley - The vertical scaling factor.
See Also:
IlvGraphic, IlvGraphic.applyTransform(IlvTransformer)

resize

public void resize(float neww,
                   float newh)
Resizes the object. This object cannot be resized. It is always at the position of the attached node.

Overrides:
resize in class IlvGraphic
Parameters:
neww - The new horizontal width.
newh - The new horizontal height.
See Also:
IlvGraphic, IlvGraphic.applyTransform(IlvTransformer)

GetAttached

public static IlvHyperEdgeConnector GetAttached(IlvGraphic nodeOrEdge)
Returns the hyperedge connector of a node or hyperedge.


Get

public static IlvHyperEdgeConnector Get(IlvHyperEdgeEnd end)
Returns the hyperedge connector that is responsible for handling the input hyperedge end. If a connector is attached to the hyperedge, this connector is returned, otherwise the connector attached to the node is returned.


GetLocal

public static IlvHyperEdgeConnector GetLocal(IlvHyperEdgeEnd end)
Returns the hyperedge connector of the hyperedge, if any. If the hyperedge has no connector, it returns the hyperedge of the end node of the hyperedge end.

Different to Get(ilog.views.hypergraph.IlvHyperEdgeEnd), this is not necessarily the connector that is currently responsible for the hyperedge end. If the hyperedge is an intergraph hyperedge and the end node is inside a collapsed grapher, then the connector of the collapsed grapher might be responsible for the hyperedge end, but instead the connector of the (currently invisible) end node is returned.



Copyright © 1996-2007 ILOG S.A. All rights reserved.   Documentation homepage.   . All Rights Reserved.