ハイパーグラフは、通常、電気信号図、マルチフローの可視化、ネットワーク管理、および UML ダイアグラムなどのアプリケーションに使用されます。
ハイパーグラフは、クラス IlvHyperGrapher を使用して実装されます。ハイパーグラフは、グラファーをベースにして、それをハイパーエッジの概念で拡張しています。
ハイパーエッジは、複数のソースと複数のシンクを持つリンクです。
ハイパーグラフ は、クラス IlvHyperGrapher、すなわち IlvGrapher (および IlvManager) のサブクラスのインスタンスです。標準的なグラフに含めることができるのは、ノードとリンクのみですが、ハイパーグラフには以下の 3 つのタイプのオブジェクトを含めることができます。
- ノード。
IlvGrapher
に存在するものと同様。 - リンク。
IlvGrapher
に存在するものと同様。ソース・ノードをターゲット・ノードに接続します。 - ハイパーエッジ。これは複数のノードを接続しますが、
IlvGrapher
には存在できません。
次のダイアグラムは、ハイパーグラフに関係するクラス間の関連を示しています。
標準リンクには、正確に 2 つの終了ノード、すなわちソースとターゲットがあります。
ソース・ノードは起点、ターゲットは宛先と呼ばれることもあります。
リンクに方向性がある場合、ターゲット・ノードに、リンクの方向を示す矢印が描かれます。
標準的なグラフは、ノードと標準リンクを含みます。
ハイパーエッジ はリンクと類似していますが、複数のソース・ノードと複数のターゲット・ノードを持つことができます。すなわち、0、1、2、3、 ... ノードという具合です。
0 ソース・ノードと 0 ターゲット・ノードのハイパーエッジは、多くのアプリケーションで意味を成さないと思われますが、実現は可能です。
JViews Diagrammer において、存在できるソース・ノードとターゲット・ノードの数に制約はありません。
ハイパーグラフは、ハイパーエッジを含むことのできるグラフです。
JViews Diagrammer では、グラフ、ノード、リンク、ハイパーグラフ、およびハイパーエッジは、以下の表にリストされたクラスによって実装されます。
クラス名 |
説明 |
---|---|
描画可能なあらゆるオブジェクト、すなわち、ノード、リンク、グラフ、ハイパーエッジなどのオブジェクトの基本クラス。
これらのオブジェクトは、グラフィック・オブジェクトと呼ばれます。
リンクおよびハイパーエッジを除くすべてのグラフィック・オブジェクトは、常にノードとして扱われます。
|
|
標準的なノードとリンクを持つ標準的なグラフ。 |
|
IlvLinkImage およびそのサブクラス |
標準リンク。 |
ハイパーグラフは、ノード、リンク、およびハイパーエッジを含むことができます。
これは、 IlvGrapher のサブクラスです。
したがって、標準リンクも含むことができます。IlvHyperGrapher オブジェクトは、
IlvGrapher から、または、 IlvManager から派生しているため、そのコンテキスト (IlvGrapher または IlvManager に特有の機能) によってグラファー、または、マネージャーと呼ばれる場合があります。
検討対象の機能がこれらのコンテキスト以外の場合に、そのオブジェクトはハイパーグラフと呼ばれます。
|
|
ハイパーエッジ。このクラスは、 IlvGraphic のサブクラスで、IlvLinkImage のサブクラスではありません。
したがって、ハイパーエッジに、標準リンクとの互換性はありません。それでも、ハイパーエッジの終了ノードは、標準ノード (IlvGraphic のインスタンス) です。 |
|
IlvHyperEdge の特別なサブクラス。
したがって、これもハイパーエッジです。 |
以下のダイアグラムは、電気信号図に使用された、複数のハイパーエッジを含むハイパーグラフの例です。
ハイパーエッジは、赤色で表示されています。