JPH0896001A - フロー図編集装置 - Google Patents

フロー図編集装置

Info

Publication number
JPH0896001A
JPH0896001A JP6227546A JP22754694A JPH0896001A JP H0896001 A JPH0896001 A JP H0896001A JP 6227546 A JP6227546 A JP 6227546A JP 22754694 A JP22754694 A JP 22754694A JP H0896001 A JPH0896001 A JP H0896001A
Authority
JP
Japan
Prior art keywords
link
coordinate
line segment
variable
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6227546A
Other languages
English (en)
Inventor
Takashi Onoyama
隆 小野山
Ariyoshi Kasai
有美 笠井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP6227546A priority Critical patent/JPH0896001A/ja
Publication of JPH0896001A publication Critical patent/JPH0896001A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 煩雑さの少ない見易いフロー図に編集する作
業を支援すること。 【構成】 先行・後続関係にある2つのノードの位置情
報を格納している第1のテーブルと、ノードの間のリン
クの位置情報を格納する第2のテーブルとを有し、第2
の前記テーブルからリンクの開始、終了位置を読み出
し、各リンク間の交点数を算出し、表示する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、先行・後続関係を持つ
複数のノードで構成されるフロー図を編集するフロー図
編集装置に関する。
【0002】
【従来の技術】従来のフロー図編集装置において、ユー
ザの編集操作を支援する機能を付加したものとして、特
開平4−163617号および特開平5−88874号
に開示されたものがある。
【0003】特開平4−163617号の「情報処理装
置」では、リンクによって結ばれた図形シンボルを表示
し編集する装置において、編集対象として選択した図形
シンボルに関する図形オブジェクトを抽出して強調表示
することを特徴としている。
【0004】また、特開平5−88874号の「ダイア
グラム作成支援システム」では、データフロー図などの
中の注目したい図形部分を強調表示するものである。
【0005】これは、いずれも強調表示によってユーザ
の編集作業を支援しようとするものである。
【0006】
【発明が解決しようとする課題】しかし、従来の技術で
は、フロー図の編集操作支援をフロー図の一部分に対し
て行うものであるため、ユーザはフロー図全体の煩雑度
を容易に把握することができず、煩雑さの少ない見易い
フロー図に編集する作業を支援することができないとい
う問題があった。
【0007】本発明の目的は、煩雑さの少ない見易いフ
ロー図に編集する作業を支援することができるフロー図
編集装置を提供することにある。
【0008】
【課題を解決するための手段】本発明は、上記目的を達
成するために、先行・後続関係にある2つのノードの位
置情報を格納している第1のテーブルと、ノードの間の
リンクの位置情報を格納する第2のテーブルとを有し、
これらのテーブルの内容に基づき複数のノードがリンク
により結合されたフロー図を編集するフロー図編集装置
において、前記第2のテーブルからリンクの開始、終了
位置の位置情報を読み出し、各リンク間の交点数を算出
する演算手段と、算出された交点数を表示する表示手段
とを備えたことを特徴とする。
【0009】
【作用】本発明によれば、フロー図の編集操作を行った
場合、第2のテーブルからリンクの開始、終了位置の位
置情報を読み出し、各リンク間の交点数を算出し、表示
装置に表示する。
【0010】これによって、ユーザは編集操作の結果、
フロー図がどの程度混雑しているかを把握することがで
き、ユーザはその交点数を目安としてフロー図の編集を
進めることで視覚性の高いフロー図の作成可能になる。
【0011】
【実施例】以下、図を用いて本発明の一実施例について
説明する。
【0012】図1は、本発明の一実施例を示すブロック
図である。
【0013】本システムは、フロー図編集装置1、入力
装置2、表示装置3、編集処理部4、表示部5、ノード
情報記憶部6、リンク情報記憶部7、単位線分記憶装置
8、水平線分記憶装置9、交点算出装置10から成る。
【0014】ノード情報記憶部6には、フロー図中のノ
ードの座標位置の情報が格納されている。リンク情報記
憶部7には、ノード情報記憶部6に登録されているノー
ド間を結ぶリンクの開始、終了位置の情報が格納されて
いる。
【0015】編集処理部4は、入力装置2からの編集要
求に従ってノード情報記憶部6とリンク情報記憶部7に
記録されているノードとリンクの位置情報の修正を行う
ものである。
【0016】表示部5は、ノード情報記憶部6とリンク
情報記憶部7に登録されているノードとリンクの位置情
報により、複数のノードがリンクによって結合されたフ
ロー図を表示装置3に表示するものである。
【0017】交点算出装置10は、リンク情報記憶部7
に記録されている水平方向のリンクに関する開始・終了
位置情報を抽出し、水平線分記憶装置9に格納すると共
に、水平でないリンクに関する情報は単位線分記憶装置
8に格納するものである。
【0018】交点算出装置10は、単位線分記憶装置8
と水平線分記憶装置9に記録されている線分間の交点数
を算出し、その交点数を表示装置3に表示するものであ
る。
【0019】図2は、フロー図の一例を示すものであ
り、A,B,C,Dなどのノード21が互いにリンク2
2で接続されている。このフロー図のノード21は平面
上の任意の位置に配置できるものではなく、破線で示す
一定間隔の格子点上にのみ配置される。
【0020】以下のデータ構造の説明例では、図2のフ
ローを用いて説明する。
【0021】図3は、ノード情報記憶部6のデータ構造
を示すものであり、ノード情報記憶部6にはノード番号
31、ノード名32、X座標33、Y座標34の各情報
が格納されている。
【0022】ノード番号31は、各ノードに一意に割り
振られた番号、X座標33およびY座標34はフロー図
中のノードの配置位置座標を示すものである。
【0023】例えば、図2のBというノードは、図3の
ノード番号「2」として「ノード名=B」、「X座標=
2」、「Y座標=1」として登録されている。
【0024】図4は、リンク情報記憶部7のデータ構造
を示すものであり、リンク情報記憶部7にはリンク番号
41、開始ノード番号42、終了ノード番号43、始点
X座標44、始点Y座標45、終点X座標46、終点Y
座標47が格納されている。
【0025】リンク番号41には、各リンク22に一意
に割り振られた番号が格納され、開始ノード番号42及
び終了ノード番号43には、そのリンク22が接続する
開始ノードと終了ノードのノード番号がそれぞれ格納さ
れる。また、始点X座標44、始点Y座標45には、開
始ノード番号42で指定されるノードの座標位置の情報
が格納される。
【0026】また、終点X座標46、終点Y座標47に
は終了ノード番号43で指定されるノードの座標位置の
情報が格納される。
【0027】例えば、図4のリンク番号「1」には図2
のAノードからBノードに接続するリンクについて、開
始ノード番号が「1」、終了ノード番号が「2」、始点
X座標が「1」、始点Y座標が「1」、終点X座標が
「1」、終点Y座標が「2」という情報が格納される。
【0028】傾き情報A48と傾き情報B49には、後
の処理で各リンクに対して以下の値が設定される。
【0029】傾き情報A48には、「(終点X座標−始
点X座標)/(終点Y座標−始点Y座標)」、傾き情報
B49には「始点X座標−A・始点Y座標」が設定され
る。
【0030】図5は、水平線分記憶装置9のデータ構造
を示すものであり、水平線分記憶装置9には図2のリン
クの中で、AとB、BとC、CとDの様な水平方向の線
分に関する情報が格納される。
【0031】ここで、水平線分記憶装置9ではAとB、
BとC、CとDの様に互いに接続するリンクはまとめて
1本の線分として格納される。
【0032】水平線分記憶装置9の格納情報は、Y方向
位置51、エントリカウンタ52、エントリ0の開始位
置53、終了位置54、エントリ1,2,3等の開始位
置55、終了位置56の各情報から構成される。
【0033】Y方向位置51には、図2のフロー図の水
平方向の線分のY座標位置が格納される。例えば、図2
のノードA,B,C,Dが置かれている線分のY方向の
座標位置は「1」であり、ノードE,F,Gが置かれて
いる線分のY方向座標位置は「2」であるので、これら
のY座標位置の情報が格納される。
【0034】エントリカウンタ52には、各Y座標に何
本の線分が登録されているかを示す情報が格納される。
【0035】例えば図2のフロー図のY方向位置「1」
では、ノードA,B,C,Dを結ぶリンクは互いに接続
され、1本の線分として登録されているので、エントリ
カウンタ52には「1」が格納されている。
【0036】また、Y方向位置「3」では、ノードHと
ノードIを結ぶリンクとノードJとノードMを結ぶリン
クは接続されていないので、開始位置「2」、終了位置
「3の線分と開始位置「4」、終了位置「5」の2本の
線分として登録されている。従って、エントリカウンタ
52には「2」が格納されている。
【0037】エントリカウンタ52の値が「0」の開始
位置53、終了位置54には本システムの処理フローの
判定条件を単純化するために、リンクが配置されること
のない「−1」の値が設定されている。
【0038】「エントリ1」以降の開始位置55には水
平方向の線分の開始X座標、終了位置56には線分の終
了X座標がそれぞれ格納される。
【0039】図6は、単位線分記憶装置8のデータ構造
を示すものであり、単位線分記憶装置8には、図2の中
で水平線分記憶装置9には登録されなかった斜め方向及
び垂直方向の線分の情報が格納される。
【0040】この単位線分記憶装置8は、Y方向の座標
単位に設けられる複数のテーブル61,62,63,…
から構成され、各テーブルにはY方向位置64、登録線
分数65、当該Y方向位置での各線分の両端のX座標を
示す「X座標1」66および「X座標2」67、リンク
番号68が格納される。
【0041】そして、この単位線分記憶装置8では、斜
め方向、垂直方向のリンクはY方向の単位座標間の線分
に分割して格納される。すなわち、図2のノードAとノ
ードEを結ぶリンクはY座標=1,2の間に含まれてい
るので1つの線分として格納されるが、ノードAとノー
ドHを結ぶリンクはY座標=1,3の間になっているの
で、2つの線分に分割されて格納される。
【0042】図6の例では、ノードAとノードEを結ぶ
リンクはY方向位置「1」に対応するテーブル61の線
分「1」として、Y座標=1,2の点でのX座標の切片
「1」と「2」を線分「1」の「X座標1」と「X座標
2」として格納し、またノードAとノードHを結ぶリン
クはY方向位置「1」のテーブル61の第2エントリに
Y座標=1,2の点での切片「1」と「1.75」の
「X座標1」と「X座標2」として格納すると共に、Y
方向位置「2」に対応するテーブル62の線分「1」と
して、Y座標=2,3の点でのX座標の切片「1.7
5」、「2」を「X座標1」と「X座標2」として格納
している。
【0043】図7は、本実施例の概略処理フローであ
り、まず、ノード情報記憶部6とリンク情報記憶部7に
格納されているノードとリンクの情報を参照して水平線
分記憶装置9に水平方向のリンクに関する情報を格納す
る(ステップ1001)。この処理の詳細は後述する。
【0044】次に、線分に関する情報を単位線分記憶装
置8に格納する(ステップ1002)。この処理の詳細
は後述する。
【0045】次に、水平線分記憶装置9と単位線分記憶
装置8の格納情報を参照してリンク間の交点数を求める
(ステップ1003)。この処理の詳細も後述する。
【0046】最後に、求めた交点数を表示装置3に表示
する(ステップ1004)。
【0047】図8および図9は、単位線分記憶装置8の
処理フローを示すものであり、まず、変数Iに「1」を
設定する(ステップ701)。次に、変数Iの値とリン
ク情報記憶部7に登録されているリンク数とを比較する
(ステップ702)。
【0048】もし、変数Iの値が大きければ処理を終了
する(ステップ716)。しかし、変数Iの値がリンク
数よりも小さい場合、リンク情報記憶部7の第I番目の
リンクの始点Y座標と終点Y座標を比較する(ステップ
703)。
【0049】両座標の値が等しい場合には、リンクは水
平方向の線分である。水平方向の線分は単位線分記憶装
置8には登録しないので変数Iの値を「1」増やし(ス
テップ715)、次のリンクの処理に移る。
【0050】ステップ703で始点と終点のY座標が等
しくない場合には、そのリンクに関する情報を単位線分
記憶装置8に登録する。
【0051】まず、変数Jに始点Y座標を代入する(ス
テップ704)。次に、「(終点X座標−始点X座標)
/(終点Y座標−始点Y座標)」を算出して変数Aに代
入する(ステップ705)。次に、「リンクの始点X座
標−A・始点Y座標」を算出して変数Bに代入する(ス
テップ706)。
【0052】変数AとBの値をリンク情報記憶部7の第
I番目のエントリのリンクの傾き情報A48に格納する
(ステップ707)。次に、変数Jの値とリンクの終点
Y座標の値を比較する(ステップ708)。
【0053】もし、変数Jの値が大きい場合には、次の
リンクの処理に移るため、変数Iの値を「1」増やし
(ステップ714)、再度ステップ702で未処理のリ
ンクが存在するか否かをチェックする。
【0054】一方、変数Jが終点Y座標より小さい場合
には、次の処理を行う。
【0055】変数X1に「A・J+B」を算出して代入
する(ステップ709)。次に、変数X2に「A・(J
+1)+B」を算出して代入する(ステップ710)。
【0056】次に、Y方向位置が「J」に相当する単位
線分テーブルの登録線分数65に「1」加える(ステッ
プ711)。
【0057】次に、X1、X2とリンク情報記憶部7の
I番目に記録されているリンクのリンク番号41とを、
変数Jに相当する単位線分テーブルの登録線分数番目の
線分の「X座標1」、「X座標2」、「リンク番号」に
代入する(ステップ712)。
【0058】次に、変数Jの値を「1」増やす(ステッ
プ713)。再度ステップ708に戻り、線分中の未処
理部分が無いかを確認するため、変数Jと終点Y座標を
比較する。
【0059】図10〜図13は、単位線分記憶装置8で
は登録しなかった水平方向のリンクを記録する水平線分
記憶装置9の処理フローを示すものであり、ここでは、
リンク情報記憶部7に登録されている全てのリンクにつ
いて、そのリンクが水平方向のリンクである場合にだけ
本装置9への登録を行う。
【0060】まず、変数Iに「1」を代入する(ステッ
プ801)。次に、変数Iの値とリンク情報記憶装置に
登録されているリンク数とを比較する(ステップ80
2)。もし、全てのリンクに対する処理を終了して変数
Iの値の方が大きい場合には、処理を終了する(ステッ
プ838)。
【0061】次に、I番目のリンクが水平方向のリンク
か否かを判定するために、I番目のリンクの始点と終点
のY座標とを比較する(ステップ803)。もし、両者
の値が一致していないならば、水平方向の線分ではない
ため水平線分記憶装置9への登録対象とはならない。従
って、変数Iの値を「1」増やし(ステップ817)、
ステップ802に戻り、次のリンクへの処理へと移る。
【0062】もし、始点、終点のY座標が一致していた
場合には、以下の処理により、そのリンク情報を水平線
分記憶装置9に登録する。
【0063】リンクのY座標に対応するY方向位置の値
を持つ水平線分記憶装置9のテーブルのエントリカウン
タ52の値が「0」か否か判定する(ステップ80
4)。「0」の場合、そのテーブルには1つも線分は登
録されていないので、新たにエントリを増やして、リン
ク情報を記録する。
【0064】具体的には、対応するテーブルのエントリ
カウンタ52に「1」を代入する(ステップ818)。
【0065】次に、Y方向位置が一致するテーブルの第
1エントリの開始位置55にリンクの開始X座標を代入
する(ステップ819)。
【0066】また、第1エントリの終了位置56にはリ
ンクの終了X座標を代入する(ステップ820)。
【0067】このステップ818,819,820の処
理で注目していたリンクの登録は終わったので、Iの値
を増やし(ステップ821)、次のリンクへと処理を移
す。
【0068】ステップ804でエントリカウンタが
「0」ではない場合には、既に同じY方向位置の水平線
分が登録されているので、既登録の水平線分と現在注目
しているリンクの位置関係を判別してどのエントリに登
録するかを決定する。
【0069】この処理の手順は、以下の通りである。
【0070】まず、変数Jに「1」を代入する。また、
変数flagには「0」を代入する(ステップ80
5)。
【0071】次に、変数JとY方向位置がリンクと対応
する水平線分記憶装置9のエントリカウンタ52の値と
を比較する。また、flagが「0」か否かチェックす
る(ステップ806)。
【0072】ステップ806の条件が成り立たなかった
場合として次の2通りの場合がある。
【0073】まず、flagが「0」でない場合であ
り、これは以下説明するが、リンク情報を水平線分記憶
装置9に登録した場合であり、そのリンクに対する処理
を終え、次のリンクの処理に移れる場合である。
【0074】次に、変数Jがエントリカウンタ52の値
を越えた場合には、新たに登録する線分と交わる線分や
リンクの右側の線分が登録されていなかった場合であ
る。
【0075】このような条件下では、ステップ813で
flagが「0」か否かを判定することでリンク情報の
水平線分記憶装置9への登録が行われたか否かを判定す
る。
【0076】もし、flagが「0」の場合には未登録
であるので、まず水平線分記憶装置9のエントリカウン
タ52に「1」を加える(ステップ814)。
【0077】次に、そのエントリカウンタ番目のエント
リの開始位置55、終了位置56にリンクの開始X座標
と終了X座標を登録する(ステップ814)。
【0078】次に、変数Iの値を「1」増やし(ステッ
プ816)、ステップ806に戻って次のリンクの処理
に移る。
【0079】ステップ806の条件が成立した場合に
は、以下、水平線分記憶装置9に登録されている線分と
現在着目中のリンクの位置関係を調べる。
【0080】まず、リンクの終点X座標が水平線分記憶
装置9の第Jエントリの開始位置55よりも小さい場合
(ステップ807)、現在着目しているリンクよりも右
方向の線分で互いに交わらないものが既登録であるの
で、水平線分記憶装置9の第Jエントリよりも後に登録
されている線分を1つずつ後方にずらし、空いた位置に
リンクの情報を登録する。
【0081】この処理はステップ822,823,82
4,825,826,827,828により行う。
【0082】即ち、変数Kにエントリカウンタ52の値
を代入する(ステップ822)。次に、変数KとJとを
比較する(ステップ823)。もし、変数Kが変数Jよ
りも大きければ、K番目のエントリに登録されている情
報を「K+1」番目のエントリに移す(ステップ82
4)。
【0083】更に、変数Kの値を「1」減じる(ステッ
プ825)。更にステップ823に戻り、次のエントリ
について処理する。
【0084】ステップ823で変数Kが変数Jよりも小
さくなった場合、エントリカウンタ52に「1」を加え
る(ステップ826)。
【0085】次に、第Jエントリの開始位置55にリン
クの開始X座標を代入する(ステップ827)。
【0086】第Jエントリの終了位置56にはリンクの
終了X座標を代入する(ステップ828)。
【0087】次に、リンク情報の登録が行われたことを
表すため変数flagに「1」を代入する。
【0088】次に、第J番目の線分が現在注目している
線分に完全に含まれる場合の処理を説明する。
【0089】まず、ステップ808の判定条件「(リン
クの開始X座標≦第Jエントリの開始位置)」、かつ
「(第Jエントリの終了位置≦リンクの終了X座標)」
が成立する場合、第J番目の線分はリンクに完全に含ま
れる場合である。
【0090】この条件が成立した場合、第Jエントリの
開始位置55、終了位置56をリンクの開始X座標、終
了X座標で置き換える(ステップ830,831)。
【0091】次に、リンク情報の登録が行われたことを
表すため、変数flagに「1」を代入する(ステップ
832)。
【0092】次のステップ809の判定条件は、リンク
が第J番目の線分よりも左側にあり、かつ両者の交わり
がある場合を表している。
【0093】つまり、「(第Jエントリの開始座標がリ
ンクの終点座標よりも等しいか小さく)」、かつ「(リ
ンクの終点X座標が第Jエントリの終了位置よりも等し
いか小さく)」、かつ「(リンクの始点X座標が第Jエ
ントリの開始位置よりも等しいか小さい)」場合であ
る。
【0094】この条件が成り立った場合、第Jエントリ
の線分の開始位置55にリンクの開始X座標を代入する
(ステップ833)。
【0095】次に、リンク情報の登録が行われたことを
表すため変数flagに「1」を代入する(ステップ8
34)。
【0096】次のステップ810は、ステップ808の
条件とは完全に逆でリンクが第J番目の線分に完全に含
まれる場合である。すなわち、「(リンクの開始X座標
が第Jエントリの開始位置よりも小さくはなく)」、か
つ「(リンクの終了X座標が第Jエントリの終了位置よ
りも大きくない)」場合である。
【0097】この場合には、リンク情報の新たな登録は
必要ではないので、変数flagに「1」を代入するだ
けである(ステップ835)。
【0098】更に、次のステップ811は、「(第Jエ
ントリの開始位置がリンクの開始X座標よりも大きくな
く)」、かつ「(リンクの開始X座標が第Jエントリの
終了位置よりも大きくない)」、かつ「(第Jエントリ
の終了位置がリンクの終了X座標よりも大きくない)」
場合である。
【0099】この条件では、第Jエントリの線分とリン
クの間に重なりがあり、かつリンクが線分の右側にある
場合である。
【0100】この条件が成立した場合には、第Jエント
リの終了位置56に、リンクの終了X座標を代入する
(ステップ836)。
【0101】次に、リンク情報の登録が行われたことを
表すため、変数flagに「1」を代入する(ステップ
837)。
【0102】もし、ステップ807,808,809,
810,811の判定が全て成立しなかった場合には、
水平線分記憶装置9のY方向位置が一致する次のエント
リの線分に対して上記の判定を行う。この処理のため、
変数Jの値を「1」増やす(ステップ812)。
【0103】次に、J番目のエントリにデータが格納さ
れているか否かを判定するためにステップ806でエン
トリカウンタと変数Jの比較及びflagの値のチェッ
クを行う。
【0104】図14〜図17は、交点算出装置10の処
理手順を示のであり、ここでは単位線分記憶装置8と水
平線分記憶装置9の登録情報を用いて図2のフロー図に
現れる線分間の交点数を求める処理を行う。
【0105】まず、交点数を格納する変数Sに「0」を
代入する(ステップ901)。
【0106】まず、単位線分記憶装置8に登録されてい
る斜め、垂直方向の線分間の交点数を以下の手順で算出
する(ステップ902〜ステップ916)。
【0107】変数Iに「1」を代入する(ステップ90
2)。
【0108】変数Iと単位線分記憶装置8に登録されて
いる最大のY方向位置と比較する(ステップ903)。
【0109】もし、変数Iが小さい場合には、Y方向位
置が「I」に対応するテーブルの線分エントリを「X座
標1」の値の昇順にソートする(ステップ904)。
【0110】次に、変数Iに「1」加え(ステップ90
5)、次のY方向位置の処理に進むためステップ903
に戻る。
【0111】ステップ903で変数Iが大きくなった場
合、つまり全てのテーブルのソートが終わった場合、変
数Iに「1」を代入する(ステップ906)。
【0112】変数Iと単位線分記憶装置8に登録されて
いる最大のY方向位置と比較する(ステップ907)。
【0113】変数Iが小さい場合には、変数Jに「1」
を代入する(ステップ908)。
【0114】次に、変数JとY方向位置が変数Iのテー
ブルの登録線分数と比較する(ステップ909)。
【0115】変数Jが小さい場合には、変数Kに「J+
1」を代入する(ステップ910)。
【0116】次に、変数KとY方向位置が変数Iのテー
ブルの登録線分数とを比較する(ステップ911)。
【0117】もし、変数Kが大きくない場合には、J番
目の線分とK番目の線分について以下の比較を行う。
【0118】「(J番目の線分のX1座標<K番目のX
1座標)」、かつ「(J番目の線分のX2座標>K番目
の線分のX2座標)」であるかを比較する(ステップ9
12)。
【0119】この条件が成立した場合には、K番目の線
分とJ番目の線分の間には交点が存在するので、変数S
の値に「1」を加える(ステップ913)。
【0120】次に、ステップ914で変数Kの値に
「1」を加えて次の線分との交点チェックのためステッ
プ907に戻る。
【0121】ステップ912の条件が成立しない場合に
は、ステップ914で変数Kの値に「1」を加え、次の
線分との交点チェックのためにステップ907に戻る。
【0122】ステップ911で変数Kが大きくなった場
合には、変数Jの値に「1」を加え(ステップ91
5)、次の線分の処理に進むためステップ909に戻
る。
【0123】ステップ907の判定で変数Iが大きかっ
た場合には、全ての単位線分記憶装置8での交点数算出
は終わったので、次にステップ917以下の水平線分記
憶装置9での交点数算出に移る。
【0124】まず、変数Iに「1」を代入する(ステッ
プ917)。
【0125】次に、変数Iとリンク情報記憶部7の登録
リンク数を比較する(ステップ918)。
【0126】変数Iが大きければ処理を終了する。
【0127】しかし、変数Iが小さい場合には、変数J
にリンク情報記憶部7のI番目のリンクの始点Y座標を
代入する(ステップ919)。
【0128】次に、変数JとI番目のリンクの終点Y座
標を比較する(ステップ920)。
【0129】リンク情報記憶部7のI番目のリンクの傾
き情報A,Bを取り出す(ステップ921)。
【0130】次に、変数Xに「A・J+B」を代入する
(ステップ922)。
【0131】さらに、変数flagに「0」を、変数K
に「1」を代入する(ステップ923)。
【0132】次に、以下の判定を行う(ステップ92
4)。
【0133】flagが「0」であり、かつ変数Kが水
平線分記憶装置9のY方向位置が変数Jに対応するエン
トリカウンタより小さいかどうかを比較する(ステップ
924)。
【0134】小さい場合には、変数X0に水平線分記憶
装置9のY方向位置が変数Jに対応するテーブルの第K
エントリの開始位置を代入する(ステップ925)。
【0135】次に、変数X1に第Kエントリの終了位置
を代入する(ステップ926)。
【0136】変数X0がXより小さく、かつXがX1よ
り小さいかチェックする(ステップ927)。
【0137】この条件が成立した場合は、I番目の線分
と現在着目している水平方向の線分の間に交点があると
判定できるので、flagに「1」を設定し、Sの値を
「1」増やす(ステップ928)。
【0138】ステップ927で条件が成立しなかった場
合には、交点は存在しない。
【0139】次に、変数Kの値を「1」増やす(ステッ
プ929)。次の水平方向の線分との交点チェックを行
うためにステップ924に戻る。
【0140】もし、既に交点が検出されていた場合に
は、ステップ928でflagに「1」を設定している
ので、ステップ924の条件は成立せず、ステップ93
0で変数Jの値を「1」増やし、次のY方向位置の水平
方向の線分との交点チェックに移る。
【0141】また、交点が無かった場合でも、変数Kの
値が大きくなれば、ステップ924の条件は成立せず、
ステップ930に処理が移る。
【0142】ステップ930で変数Jの値を「1」増や
した後、ステップ920に戻り、変数JがI番目のリン
クの終点Y座標に到達しているかをチェックする。変数
Jが終点Y座標よりも大きい場合には、ステップ931
に進み、変数Iの値を「1」増やし、次のリンク情報記
憶部7中のリンクの処理に移るためにステップ918に
戻る。このステップ918の判定で変数Iが登録リンク
数よりも大きくなった場合に処理を終る。
【0143】この処理で求められた交点数Sを表示装置
3に表示する。この場合、図2に示すように、フロー図
の下部に編集前交点数23と編集後交点数24とを同時
に表示する。
【0144】以上のように、本実施例においては、リン
ク情報記憶部7(第2のテーブル)に格納されたノード
の間のリンクの位置情報に基づき、水平および垂直(斜
め方向を含む)方向の線分の開始、終了位置座標を抽出
し、この位置座標に基づいて複数のリンク間の交点数を
算出し、その算出された交点数を表示するようにしたの
で、ユーザはフロー図の煩雑さを容易に把握することが
できる。この結果、ユーザはフロー図を編集する場合
に、表示された交点数を参照しつつ交点数の少ない視覚
性の高いフロー図を容易に作成することができる。
【0145】また、水平および垂直(斜め方向を含む)
方向の線分の開始、終了位置座標を、ノードの表示行単
位(Y座標単位)に分割して記憶し、表示行単位で交点
数を算出するようにしているので、フロー図の一部に修
正を加えた場合には、修正を加えた表示行についてのみ
交点数を再計算すればよくなる。この結果、交点数の算
出処理時間を短縮することができる。
【0146】
【発明の効果】以上述べたように本発明によれば、フロ
ー図中のリンク間の交点数を算出表示するようにしたの
で、煩雑さの少ない見易いフロー図に編集する作業を支
援することができる。この結果、ユーザはフロー図を編
集する場合に図中に交点数の少ない視覚性の高いフロー
図を容易に作成することができる。
【0147】また、リンクの開始、終了位置座標を、ノ
ードの表示行単位(Y座標単位)に分割して記憶し、表
示行単位で交点数を算出するようにしているので、フロ
ー図の一部に修正を加えた場合には、修正を加えた表示
行についてのみ交点数を再計算すればよくなり、全体の
交点数が多いば場合でも算出処理時間を短縮することが
できる。
【図面の簡単な説明】
【図1】本発明を適用したフロー図編集装置の一実施例
を示す構成図である。
【図2】実施例の説明に用いるフロー図の例を示す図で
ある。
【図3】ノード情報記憶装置の具体例を示す図である。
【図4】リンク情報記憶装置の具体例を示す図である。
【図5】水平線分記憶装置の具体例を示す図である。
【図6】単位線分記憶装置の具体例を示す図である。
【図7】交点数算出処理の概略フローチャートである。
【図8】単位線分生成装置の処理手順を示すフローチャ
ートである。
【図9】図8の続きを示すフローチャートである。
【図10】水平線分生成装置の処理手順を示すフローチ
ャートである。
【図11】図10の続きを示すフローチャートである。
【図12】図11の続きを示すフローチャートである。
【図13】図12の続きを示すフローチャートである。
【図14】交点算出装置の処理手順を示すフローチャー
トである。
【図15】図14の続きを示すフローチャートである。
【図16】図15の続きを示すフローチャートである。
【図17】図16の続きを示すフローチャートである。
【符号の説明】
1…フロー図編集装置、3…表示装置、4…編集処理
部、6…ノード情報記憶部、7…リンク情報記憶部、8
…単位線分記憶装置、9…水平線分記憶装置、10…交
点算出装置。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 先行・後続関係にある2つのノードの位
    置情報を格納している第1のテーブルと、ノードの間の
    リンクの位置情報を格納する第2のテーブルとを有し、
    これらのテーブルの内容に基づき複数のノードがリンク
    により結合されたフロー図を編集するフロー図編集装置
    において、 前記第2のテーブルからリンクの開始、終了位置の位置
    情報を読み出し、各リンク間の交点数を算出する演算手
    段と、算出された交点数を表示する表示手段とを備えた
    ことを特徴とするフロー図編集装置。
  2. 【請求項2】 リンクの位置情報を、ノードの表示行単
    位に分割して記憶しておくことを特徴とする請求項1記
    載のフロー図編集装置。
JP6227546A 1994-09-22 1994-09-22 フロー図編集装置 Pending JPH0896001A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6227546A JPH0896001A (ja) 1994-09-22 1994-09-22 フロー図編集装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6227546A JPH0896001A (ja) 1994-09-22 1994-09-22 フロー図編集装置

Publications (1)

Publication Number Publication Date
JPH0896001A true JPH0896001A (ja) 1996-04-12

Family

ID=16862598

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6227546A Pending JPH0896001A (ja) 1994-09-22 1994-09-22 フロー図編集装置

Country Status (1)

Country Link
JP (1) JPH0896001A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7310784B1 (en) 2002-01-02 2007-12-18 The Jellyvision Lab, Inc. Methods for identifying cells in a path in a flowchart and for synchronizing graphical and textual views of a flowchart
US8127238B2 (en) 2006-12-14 2012-02-28 The Jellyvision Lab, Inc. System and method for controlling actions within a programming environment
US8276058B2 (en) 2007-02-08 2012-09-25 The Jellyvision Lab, Inc. Method of automatically populating and generating flowerchart cells
US8521709B2 (en) 2006-10-31 2013-08-27 The Jellyvision Lab, Inc. Methods for preloading media assets

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7310784B1 (en) 2002-01-02 2007-12-18 The Jellyvision Lab, Inc. Methods for identifying cells in a path in a flowchart and for synchronizing graphical and textual views of a flowchart
US8464169B2 (en) 2002-01-02 2013-06-11 The Jellyvision Lab, Inc. Methods for identifying cells in a path in a flowchart and for synchronizing graphical and textual views of a flowchart
US8521709B2 (en) 2006-10-31 2013-08-27 The Jellyvision Lab, Inc. Methods for preloading media assets
US8127238B2 (en) 2006-12-14 2012-02-28 The Jellyvision Lab, Inc. System and method for controlling actions within a programming environment
US8276058B2 (en) 2007-02-08 2012-09-25 The Jellyvision Lab, Inc. Method of automatically populating and generating flowerchart cells

Similar Documents

Publication Publication Date Title
USRE42414E1 (en) Drawing management device having ability to retrieve and display a desired amount of data within a desired display time
JPH0896001A (ja) フロー図編集装置
JPS6257078A (ja) 図形要素の検索処理方式
JP2001184359A (ja) 地図検索装置、地図検索方法及び地図検索制御プログラムを記録した記録媒体
JP3760403B2 (ja) 表示情報の重なり回避方法及びその重なり回避システム及びその重なり回避プログラム
JP3543700B2 (ja) 列車ダイヤ図表示方法
JP2819203B2 (ja) 図面管理方法および装置
US20020049757A1 (en) Apparatus for processing data of overlapped facilities by means of virtual facility record and method therefor
JP2573758B2 (ja) データ検索方式
JPH0529951B2 (ja)
JPH0614915A (ja) Ct装置におけるスライス像の検索表示方法
JP3000749B2 (ja) 文字編集装置
JPH07296023A (ja) Cadシステムにおける寸法作画方法
JP2667454B2 (ja) 作図装置
JPH02143325A (ja) ウィンドウ表示方式
JP2817845B2 (ja) 図形処理装置及び方法
JPH09114506A (ja) プログラム管理装置
JP2001194174A (ja) 地理情報システムおよびこれに用いる地理情報処理方法並びにこの方法を記録した記録媒体
JPH08272842A (ja) フロー図編集装置
JPS63244091A (ja) 情報処理装置
JPH04172566A (ja) 配線パターンの形状変更方法
JPH02217967A (ja) プリント配線板設計システムの部品配置方式
JPH07129786A (ja) 画像表示装置
JPS6334668A (ja) 自動レイアウト設計支援装置
JPH06282619A (ja) 図形描画装置