Nodes are any IlvGraphic object that is added to the graph
by a call to addNode. Instances of IlvLinkImage or IlvHyperEdge cannot be added as nodes to the
hypergraph; they must be added as links (by a call to addLink) or as hyperedges (by a call to addHyperEdge).
The same node can serve as end node for normal links and for
hyperedges. IlvHyperGrapher provides different API for
retrieving links or hyperedges that are incident to a node.
Methods for retrieving links or
hyperedges incident to a node
API |
Description
|
---|---|
Returns the normal links (
IlvLinkImage
) that have the node as source, but does not return any
hyperedges.
|
|
Returns the normal links (
IlvLinkImage
) that have the node as target, but does not return any
hyperedges.
|
|
Returns the hyperedges (
IlvHyperEdge
) that have the node as source, but does not return any normal
links.
|
|
Returns the hyperedges (
IlvHyperEdge
) that have the node as target, but does not return any normal
links.
|
|
Returns
the number of normal links that have the node as source. |
|
Returns
the number of normal links that have the node as target. |
|
Returns
the number of hyperedges that have the node as source. |
|
Returns
the number of hyperedges that have the node as target. |
A hyperedge can have the same source node or the same target node
multiple times. Say that a hyperedge,
linkA
, has the node,
nodeB
, five times as source node. (See the following figure.) By calling
the methods shown in table Methods for retrieving links or hyperedges
incident to a node,
linkA
would occur once only, even if it is incident to a node multiple
times; that is,
grapher.getHyperEdgesFrom(nodeB)
would return
linkA
once only and
grapher.getHyperEdgesFromCount(nodeB)
would count
linkA
once only.
![fiveends.gif](../usrhyperdiag/_media/fiveends_default.gif)
Multiple ends at the same node
Multiple occurrences of the same source or target node are
distinguished by the hyperedge end. The hyperedge
linkA
has five different hyperedge ends that point to
nodeB
. Therefore,
IlvHyperGrapher
provides methods for retrieving the hyperedge ends incident to a
node. These methods are shown in the following table.
Methods for retrieving hyperedge ends
Method |
Description
|
---|---|
Returns the hyperedge ends (
IlvHyperEdgeEnd
) of those hyperedges that have the node as source.
|
|
Returns the hyperedge ends (
IlvHyperEdgeEnd
) of those hyperedges that have the node as target.
|
|
Returns
the number of hyperedge ends of those hyperedges that have the
node as source. |
|
Returns
the number of hyperedge ends of those hyperedges that have the
node as target. |
In the example illustrated by the figure Multiple ends at the same node,
grapher.getHyperEdgeEndsFrom(nodeB)
returns five different ends for the link
linkA
and
grapher.getHyperEdgeEndsFromCount(nodeB)
counts
linkA
five times, because it actually counts the ends of
linkA
.