JP2943121B2 - グラフイツク・データをストアする方法 - Google Patents

グラフイツク・データをストアする方法

Info

Publication number
JP2943121B2
JP2943121B2 JP2248984A JP24898490A JP2943121B2 JP 2943121 B2 JP2943121 B2 JP 2943121B2 JP 2248984 A JP2248984 A JP 2248984A JP 24898490 A JP24898490 A JP 24898490A JP 2943121 B2 JP2943121 B2 JP 2943121B2
Authority
JP
Japan
Prior art keywords
block
execution
data
edit
pointer
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.)
Expired - Lifetime
Application number
JP2248984A
Other languages
English (en)
Other versions
JPH03144771A (ja
Inventor
ニナ・エン・リヤン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH03144771A publication Critical patent/JPH03144771A/ja
Application granted granted Critical
Publication of JP2943121B2 publication Critical patent/JP2943121B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明はグラフイツク(図形)データを処理する情報
処理システム、より詳細に言えば、グラフイツク・デイ
スプレー・エレメントの階層的なストラクチャ(構成)
としてストアされているグラフイツク・データ(以下、
本明細書全体にわたって、「データ・ストラクチャ」ま
たは単に「ストラクチャ」と呼ぶ。)を処理するための
グラフイツク・デイスプレー・システムに関する。より
具体的に言えば、本発明はグラフイツク・デイスプレー
装置中のグラフイツク・デイスプレーのデータ・エレメ
ントの管理に関している。
B.従来の技術 コンピュータ支援デザイン(CAD)及びコンピユータ
支援エンジニヤリング(CAE)の分野に用いられるグラ
フイツク・デイスプレー・システムにおいて、デイスプ
レーのイメージはシステムの入力された図形の順序に基
いて作成される。図形の順序はカラーのような属性と、
例えば線や、点や、多角形などの原始的な作図動作とに
よつてオブジエクトを定義する。複雑なグラフイツク・
イメージは、図形のプリミテイブ(primitive)(線、
点及び原始的な図形)の組合せとして表示、即ち図形化
することが出来る。最近のグラフイツク・デイスプレー
・システムは、一層複雑なオブジエクトを表示するため
の、単一の低レベルのオブジエクトの定義(または、定
義の列)を反復して使用可能にするために階層的にグラ
フイツク・データのモデルを使用している。従つて、例
えば1つの車輪のプリミテイブの定義をグラフイツク・
デイスプレー・システム中に入力して、その後、コンピ
ユータ支援デザイン・アプリケーシヨンで自動車の車輪
を決めるのに反復して用いられる。
例えば、PHIGS(Programmer's Hierarchica1 Interac
tive Graphics System)のようなグラフイツク・システ
ムのプログラミングの最近の標準は、定義と、デイスプ
レーと、グラフイツク・データ及び位置的に関係するオ
ブジエクトの処理とに対して1組の機能を与えている。
PHIGSのようなインターフエースの標準は、特定のグラ
フイツク・デイスプレー・システムに対する細部の仕様
に注意を払うことなく、特定のグラフイツク・アプリケ
ーシヨン・プログラムを高いレベルにおいて、書込むこ
とが出来る。このような高いレベルのランゲージを使用
することによつて、僅かな変更を施すだけで、種々のタ
イフの装置の間でアプリケーシヨン・プログラムを転送
することが出来る。
階層的なデータ・ストラクチャを用いたシステムの論
理的なデータ・フローが第3図に示されている。ユーザ
のアプリケーシヨン・プログラム100は図形処理システ
ムに対するグラフイツク・インターフエース・コマンド
を含むデータ・ストリーム102を通過させる。データ・
ストリームの情報は、以下の2つのカテゴリーに分けら
れる。即ち、それらはストラクチャ・ストレージ104
と、ワークステーシヨンの状態リストである。ストラク
チャ・ストレージ104は、デイスプレーされるべきグラ
フイツク素子の細部の記述を含んでおり、他方、ワーク
ステーシヨンの状態リスト106は、ワークステーシヨン
の環境を設定するために必要な情報を含んでいる。スト
ラクチャ・ストレージ及びワークステーシヨンの状態リ
ストに対して動作するワークステーシヨンのプログラム
はデイスプレーの表面108に発生される最終的なイメー
ジを発生する。
この形式のグラフイツク・デイスプレー・システムを
実行するのに用いられるハードウエアの構成の例が第2
図に示されている。通信プロセツサ110は、グラフイツ
ク(図形)の順序を含んでいるホスト・システムにイン
ターフエースを与え、その後に、グラフイツク・データ
ベース中のユーザのアプリケーシヨン・プログラムにイ
ンターフエースを与える。システム制御プロセツサ112
は周辺的な(geometric)データベースを管理すると共
に、グラフイツク・デイスプレー・システムの動作全体
を制御する。システム制御プロセツサの細部については
後述する。グラフイツク・コマンド・プロセツサ114
は、システム制御プロセツサ112によつてシステム・メ
モリ113中にストアされたグラフイツク・コマンドを解
読し、そして、デイスプレー・プロセツサ116が必要と
する細部のコマンドを発生する。デイスプレー・プロセ
ツサ116は関連するジオメトリ・プロセツサ118と送出装
置120とを含んでいる。デイスプレー・プロセツサ116の
最終出力はデイスプレー装置のデイスプレー用のフレー
ム・バツフアヘのライン122に転送される。
システム制御プロセツサ112は、オペレータの要求に
応答して、システム・メモリ113中のストラクチヤ・ス
トレージ104のリストを維持する責任を持つている。シ
ステム制御プロセツサは入/出力プロセツサ124に接続
されており、入/出力プロセツサ124は、キーボード12
6、スタイラス及びタブレツト、またはプログラム・フ
アンクシヨン・キー130等の幾つかのオペレータの制御
用装置からのデータを処理する。オペレータは、グラフ
イツク・デイスプレー・システムと通信するためにこれ
らの装置を使用して、グラフイツク・オブジエクトに関
する編集の仕事や、更新の仕事を行なう。
オペレータの対話を処理するシステムは、オペレータ
が参照したデータを迅速にアクセスすることが出来、そ
して、オペレータにより要求された変更を迅速に、且つ
効率よく実行することの出来る能力を持つていなければ
ならない。グラフイツク・デイスプレー・システムの能
力は、増大され、且つモデルは極めて大型になつたの
で、グラフイツク・データを位置付けたり、更新する従
来の方法は非効率的になつている。ストラクチヤ・スト
レージの情報をアクセスする現在の方法は、システムの
ユーザによつて要求されるオペレータの対話をリアル・
タイムでサポートするには余りにも遅くなつている。
C.発明が解決しようとする課題 本発明は、オペレータとストラクチヤ・ストアとの対
話の効率を向上させるストラクチヤ・ストレージのデー
タベース構造と、管理方法とを提供することを指向して
いる。本発明は階層的に構成されたグラフイツクのデー
タのアクセスと更新の速度とを早める新規なデータ管理
技術を用いている。
従つて、本発明の目的は参照されたデータ・ストラク
チヤに対して迅速なアクセスを可能としたストラクチヤ
・ストレージの組織を提供することにある。
本発明の他の目的は、階層的組織を損なうことなく、
ストラクチヤ・ストレージの編集及び更新を可能とした
ストラクチヤ・ストレージ管理処理方法を提供すること
にある。
D.課題を解決するための手段 本発明は、描かれるべきデイスプレー・ストラクチヤ
についての情報を迅速にアクセスするための制御テーブ
ルを含むグラフイツク・データ管理システムに関してい
る。グラフイツク記述子に対する一連の制御テーブル及
びハツシユ・インデツクスは、ストラクチヤの細部を迅
速に且つ、効果的に編集するストラクチヤ・ストレージ
編集コマンドの動作を可能にする。階層的グラフイツク
・データのランゲージが、ストラクチヤ・エレメントの
階層的ネツトワークと、関連したグラフイツク・プリミ
テイブのコマンドとを作成する。編集子は階層を保管す
る方法を与えながら、効率良く編集タスクを達成する。
ストラクチヤ識別子、ピツク識別子、ラベル識別子及び
実行ストラクチヤの連結されたリストに対してハツシン
グ・テーブルを備えることによつて、これらのエレメン
トを迅速にアクセスし、且つ制御する。制御プロセツサ
と共有する或る種のデータの部分をストアするストラク
チヤ・ストレージが地域的なグラフイツク・メモリとし
て設けられる。
E.実施例 PHIGSのような階層的なグラフイツク・デスクリプシ
ヨン・ランゲージ(図形を記載するコンピユータ言語)
は一連の階層的関連ストラクチヤ・エレメントを含んで
いる。デイスプレー装置に表示されるイメージは、一連
のビユー(View)、即ちウインドウを含んでおり、各ビ
ユーは1つ、またはそれ以上の特定のイメージを含んで
いる。ストラクチヤ・エレメントの間の関係は、第1図
を参照して以下に説明する。デイスプレーの各ビユーは
例えば、第1図に示したエレメント136、138及び140の
ようなビユー・ポインタを持つている。各ビユーは次に
高い優先ビユーを指示するポインタを含んでいる。ま
た、1つのビユーはそのビユーに対する最初のルート・
ブロツクを指示するポインタを含んでいる。ルート・ブ
ロツクはデイスプレー中のオブジエクト、またはオブジ
エクトの部分を作る一連の編集ブロツクの最終点であ
る。例えば、ビユー・ポインタ136はルート・ブロツク1
42を指示し、それは転じて、編集グループ144を指示す
る。また、各ルート・ブロツクは、そのルート・ブロツ
クの関連する編集グループを持つ次に高い優先度を持つ
ルート・ブロツクを指示するポインタを持つている。
イメージ発生のブロセスは、ビユー、ルート及び編集
グループによつて指示されたストラクチヤを通過するこ
とを含んでいる。これらのストラクチヤは、最も低い優
先度のルート・ブロツクから最も高い優先度のルート・
ブロツクヘと処理されるので、最終イメージは最も高い
優先度のオブジエクトのストラクチヤである。
最も低いレベルにおいて実行される一連の「ストラク
チヤ」は、デイスプレー装置に所望のオブジエクトを形
成する。各ストラクチヤは、1つ、またはそれ以上の識
別子と、基本的なグラフイツク・プリミテイブと、他の
ストラクチヤの呼び出しとを含んでいる。他のストラク
チヤを実行するストラクチヤの能力は、ストラクチヤの
間の階層的な関係の設立を行なうことを可能にする。例
えば、第4図は一組のストラクチヤの間の関係を示して
いる。参照数字150で示すストラクチヤAは一連の基本
的な動作を遂行し(空白の四角形の中で)、そして次
に、参照数字152で示すストラクチヤBを実行する。
「ストラクチヤBの実行(ストラクチヤBを実行せ
よ)」というコマンド151は、ストラクチヤAのエレメ
ントとして含まれている。転じて、ストラクチヤBは
「ストラクチヤCの実行」というコマンド156によつ
て、参照数字154のストラクチヤCを実行する。ストラ
クチヤC、154が処理を完了した時、その「返還」コマ
ンド158は、「ストラクチヤの実行」コマンド156の次の
点、即ちコマンド160の点のストラクチヤB、152に制御
を返還する。ストラクチヤB、152の処理の完了は、処
理を完了するために、ストラクチヤAに制御を返還す
る。
第5図は各ストラクチヤに関連した識別エレメントを
示している。各ストラクチヤは、そのストラクチヤを識
別するための任意の特別のストラクチヤ識別子を持つて
いる。加えて、ストラクチヤは、特別でないピツク識別
子162及び特別でないラベル識別子164を含んでいる。ピ
ツク識別子はピツク検出処理の間で、オペレータの選択
したオブジエクトを識別するために、アプリケーシヨン
・プログラムによつて設定され、且つ使用される。ラベ
ル識別子164はアプリケーシヨン・プログラムによつて
ストラクチヤに関連されたラベルを含んでいる。ラベル
識別子は、アプリケーション・プログラムが、そのアプ
リケーションが利用するある決められたグループ中のス
トラクチャ・エレメンとを識別することができるように
する。特別のストラクチヤ識別子は、システムで割当て
られるものであり、アプリケーシヨン・プログラムによ
つて、常に処理されるものではないから、ラベル識別子
のフイールドは、アプリケーシヨン・プログラムに応じ
て柔軟性に増大する。ストラクチヤ中の各ストラクチヤ
・エレメントは、ストラクチヤ・エレメント番号によつ
て識別される。例えば、第5図において、「ストラクチ
ヤBの実行」コマンド151は、ストラクチヤAの識別子A
AAAにおいて、ストラクチヤ・エレメント番号3であ
る。ストラクチヤ・エレメントのカウンタは、大きなス
トラクチヤ中の特定のストラクチヤ・エレメントを位置
付けるのに用いることが出来る。
本発明の良好な実施例は、各ストラクチヤを表示する
ために、1つ、またはそれ以上の編集ブロツクを用いて
具体化している。ストラクチヤ記述子のテーブルは基本
的なストラクチヤ識別情報と、ストラクチヤの第1の編
集ブロツクを指示するポインタとを含んでいる。各編集
ブロツクは第6図に示されている。前方向ポインタ168
は、若し、ストラクチヤ中に編集ブロツクがあれば、次
の編集ブロツクを指示する。同様に、後方向ポインタ17
0は、前の編集ブロツクか、またはストラクチヤ記述子
を指示する。編集ブロツクの長さ172は、参照数字174で
示された有効エントリ番号の隣にストアされる。フイー
ルド175は編集ブロツク中に残つた自由なスペースの大
きさを示している。
各ストラクチヤ・エレメント176は、編集ブロツクの
連続するセクシヨン中にストアされる。ストラクチヤ・
エレメントは、長さ情報178及びオペレーシヨン・コー
ド、OPコード180と、個々のデータ部分182、184とを含
んでいる。例えば、複数の線を描くためのコマンドは、
所定の長さと、複数の線が描かれることを表示するOPコ
ードとで開始し、その後、複数線を定義する座標軸の値
が続く。座標軸の各値は複数の線の各頂点のX値、Y
値、Z値として転送される。ストラクチヤ・エレメント
のフオーマツトは、特定のストラクチヤ内の各ストラク
チヤ・エレメントに対して、行われる。然し、すべての
ストラクチヤ・エレメントの長さの合計が、この実施例
における64000バイトの編集ブロツクのサイズを超過す
るならば、第2の編集ブロツクがこの超過するストラク
チヤ・エレメントを含むように作成される。この第2の
編集ブロツク、若しあればそれに続く編集ブロツクは、
前の編集ブロツク及び前方向または後方向ポインタを持
つストラクチヤ記述子に連結される。
本発明に従つたシステムは、ストラクチヤ及び関連す
る編集ブロツクに含まれているデータに迅速にアクセス
させる一組の制御テーブルを用いる。良好な実施例にお
いて、或る種のテーブルは、システム制御プロセツサに
よるアクセスだけを必要とし、他方、他のテーブルは、
システム制御プロセツサ及びグラフイツクコマンドプロ
セツサの両方によるアクセスを必要とする。然しなが
ら、メモリはこのように分割する必要はない。
ローカル・システム制御プログラム・メモリ中の制御
テーブルは、 −ストラクチヤ記述子 −ストラクチヤ識別子ハツシング・テーブル −ピツク識別子エレメント・ブロツク −ピツク識別子ハツシング・テーブル −ラベル識別子エレメント・ブロツク −ラベル識別子エレメント・ハツシング・テーブル −ストラクチヤ参照リスト を含んでいる。
システム制御プロセツサ及びグラフイツクコマンドプ
ロセツサによつて共有される大域メモリ中のテーブル
は、 −実行するストラクチヤのリスト −編集ブロツクのリスト −編集ブロツクのアドレスのテーブル を含んでいる。
これらの制御テーブルはグラフイツク・イメージのデ
ータベース編集及び維持を行なうために必要なストラク
チヤ・エレメントに対して迅速なアクセスを与える。こ
れらの制御テーブルの記述がこれに続く。
上述したように、このモデル中の各ストラクチヤは、
そのストラクチヤに対する特定の情報を含むストラクチ
ヤ記述子を持つている。このストラクチヤ記述子は、オ
ープン・ストラクチヤのプロシージヤが処理される時
か、または、実行するストラクチヤ・エレメントに遭遇
した時に、ストラクチヤ・マネージヤによつて作成され
る。ストラクチヤ記述子は、 −次のストラクチヤ記述子 −前のストラクチヤ記述子のポインタ −ストラクチヤ識別子 −編集ブロツクのアドレス・リストへのポインタ −ピツク・ブロツク・テーブルへのポインタ −ラベル・ブロツク・リストへのポインタ −実行ストラクチヤ・リスト(SXSL)へのポインタ −ストラクチヤ参照リスト(REFL)へのポインタ −ストラクチヤ・エレメントの合計数 −関連したビユー・ビツトのマツプ(ストラクチヤが関
連されているビユーを表示する) を含んでいる。
ワークステーシヨンのストラクチヤ・ネツトワーク中
の各ストラクチヤ記述子を指示するポインタを含むスト
ラクチヤ・ハツシング・テーブルが与えられる。このテ
ーブルは、ストラクチヤ識別子に基いてハツシユされ、
そして、アプリケーシヨン・プログラム、またはシステ
ムを、ストラクチヤ識別子に基くストラクチヤに迅速に
アクセスさせる。ストラクチャ・ハッシング・テーブル
は、後続するストラクチヤのストラクチヤ記述子チエー
ンの開始点を指示するポインタを含んでいる。(第7図
を参照) 1つの「実行ストラクチヤ・ブロツク」が、実行する
ストラクチヤの各エレメントに対して存在する。ストレ
ージ・マネージヤは、ストラクチヤの実行コマンドが最
初に処理された時、実行ストラクチャ・ブロツクを作成
する。特定されたストラクチヤに対するすべての実行ス
トラクチヤブロツクは、その特定されたストラクチヤに
対する実行ストラクチヤのリスト(EXSL)を形成するた
めに二重に連結(リンク)される。加えて、この実行ス
トラクチヤ・ブロツクは実行ストラクチヤを参照するた
めのストラクチヤ参照リスト(REFL)にも連結される。
実行ストラクチヤ・ブロツクは、 −次の実行ストラクチヤ・ブロツクのアドレス −前の実行ストラクチヤ・ブロツクのアドレス −実行ストラクチヤ・エレメントを含む編集ブロツクの
アドレス −実行ストラクチヤ・エレメントのエントリのアドレス −呼び出したストラクチヤのストラクチヤ記述子のアド
レス −実行ストラクチヤのストラクチヤ記述子のアドレス −REFLチエーン中の次の実行ストラクチヤ・ブロツク −REFLチエーン中の前の実行ストラクチヤ・ブロツクを
含んでいる。
ストラクチヤ参照リストは特定されたストラクチヤを
参照するすべてのストラクチヤについての情報を含み、
そして、呼び出したストラクチヤの実行ストラクチヤ・
ブロツクを連結する。例えば、若しストラクチヤAがス
トラクチヤBを実行したならば・ストレージ・マネージ
ヤはストラクチヤBのために実行ストラクチヤ・ブロツ
クを作成し、そして、その実行ストラクチャ・ブロック
をストラクチャAの実行ストラクチャ・リスト(EXSL)
に連結する。また、この作成された実行ストラクチャ・
ブロックは、ストラクチャBのストラクチャ参照リスト
(REFL)の中に連結される。
第8(a)図は、ストラクチヤA及びストラクチヤD
と、ストラクチヤCの2つのインスタンスとの間の階層
的関係を示している。第8(b)図は、この実施例にお
けるストラクチヤ記述子と、実行ストラクチヤ・ブロツ
クとの間の関係の細部を示す図である。ストラクチヤA
のストラクチヤ記述子はアドレス@1の初めの参照数字
200の所に示されている。ストラクチヤ記述子はアドレ
ス@4の実行ストラクチヤ・ブロツク204を指示するポ
インタ202を含んでいる。ストラクチヤAにより、スト
ラクチヤCの第1番目に実行をするための実行ストラク
チヤ・ブロツクは参照数字204で示されている。ストラ
クチヤCはストラクチヤAにより実行されるので、第2
番目の「次の実行ブロツクのポインタ206」はストラク
チヤCのための第2の実行ストラクチヤ・ブロツクのア
ドレス@5を指示する。実行ストラクチヤ・ブロツク20
6からの後方向ポインタ208は実行ストラクチヤ・ブロツ
ク204を指示する。後方向ポインタ210は呼び出したスト
ラクチヤAの記述子のEXSLポインタ202のアドレスを指
示する。
ストラクチヤ参照リスト(REFL)のポインタは実行ス
トラクチヤ・ブロツク中に含まれている。ストラクチヤ
CからのREFLポインタ211は、ストラクチヤCを参照す
る第1の実行ストラクチヤ・ブロック204を指示する。
実行ストラクチヤ・ブロツク204中の前方向REFLポイン
タ212は、ストラクチヤAによりストラクチヤCの第2
の実行を表わす次の実行ストラクチヤ・ブロツク206を
指示する。アドレス@5を含んでいる。なお、この212
中の前方向ポインタがアドレス@5および@6の2つを
有しているのは、ストラクチャ参照リストにおいて、実
行ストラクチャ・ブロック204を実行ストラクチャ・ブ
ロック206のみならず実行ストラクチャ・ブロック214に
も直接に連結するためである。実行ブロック206のREFL
ポインタは、ストラクチヤDによりストラクチヤCを実
行する実行ブロック214を指示する@6を含んでいる。
実行ブロック204の無効の後方向REFLポインタ216は、RE
FLチエーンの中には前の実行ブロツクは無いことを表示
する。アドレス・ポインタ218は、図示の実施例の場
合、アドレス@2の所にあるストラクチヤCのストラク
チヤ記述子である実行ストラクチヤのストラクチヤ記述
子のアドレスを表示する。アドレス・ロケータ220は、
呼び出したストラクチヤ記述子のアドレス@1を含んで
いる。
各ビツク識別子は編集ブロツク中にピツク・エレメン
トのポインタによつて指示されたピツク識別子エレメン
ト・ブロツクを持つている。ピツク識別子エレメント・
ブロツクの内容は、 −ハツシユ・チエーン中の次のピツク・ブロツク −ハツシユ・チエーン中の前のピツク・ブロツク −ストラクチヤ・ピツク・チエーン中の次のピツク・ブ
ロツク −ストラクチヤ・ピツク・チエーン中の前のピツク・ブ
ロツク −ストラクチヤ識別子 −ピツク識別子 −対応する編集ブロツクのアドレス −対応する編集ブロツクのエントリのアドレス である。
ピツク識別子エレメント・ブロツクはピツク識別子ハ
ツシング・テーブルに接続されている。ストラクチヤ記
述子テーブルのように、この実施例におけるピツク識別
子ハツシング・テーブルは、固定長のテーブルである。
各エントリはピツク識別子ハツシング・チエーンを指示
するポインタか、または、このハツシユ・エントリのハ
ツシング・チエーンが存在しないことを表示するかの何
れかを含んでいる。このピツク識別子はそのストラクチ
ヤ・エレメントに対してのストラクチヤ識別子及びピツ
ク識別子との組合せに従つて、ハツシユされる。
ピツク識別子エレメント.ブロツク及びピツク識別子
ハツシユ・テーブルに相当するラベル識別子エレルメン
ト・ブロツク及びラベル識別子ハツシユ・テーブルが作
られる。
各ストラクチヤのピツク識別子エレメント・ブロツク
は「ピツク・エレメント・ブロツク・リスト」を形成す
るために連結される。同様に、ラベル識別子エレメント
・ブロツクは「ラベル・エレメント・ブロツク・リス
ト」を形成するために連結される。
「編集ブロツク・リスト」は、1つ、またはそれ以上
の可変編集ブロツクを含んでいる。各編集ブロックの構
成は、上述した図6およびその説明によって示されてい
る。各編集ブロツクはブロツク及び一連のストラクチヤ
・エレメントの順序を識別するためのヘツダを含んでい
る。編集ブロツク・アドレス・リストはストレージ・マ
ネージヤと、グラフィツクコマンドプロセツサとの間を
通信するためのアドレス・マツプとして使用される。こ
のリストは、1つ、またはそれ以上の「編集ブロツク・
アドレス・ブロツク」を構成する。各アドレス・ブロツ
クは、前方向及び後方向ポインタと、特定のストラクチ
ヤの第1の編集ブロツクを指示するエントリとを持つて
いる。この編集ブロックのアドレスリストは、通常シス
テムの共有メモリ中に作成され、ローカルメモリ中に作
成されるストラクチャ記述子が、ストレージ管理に必要
とされるほとんどの情報を取り込むことを可能にし、こ
れによりシステムのデータ処理速度を増加させることが
できる。第9図は、この共有メモリ中の編集ブロックの
アドレスリストとローカルメモリ中のストラクチャ記述
子との関係を示している。ストラクチヤAの編集ブロツ
ク222はストラクチヤAのためのストラクチヤ・エレメ
ントを含んでいる。これらのエレメントの中に、ストラ
クチヤC、226を実行する実行ストラクチヤ・コマンド2
24がある。次のストラクチヤ識別子は、ストラクチヤC
のための編集ブロツク・ポインタ・リスト・アドレス23
0を指示するアドレス・ポインタ228である。このポイン
タは、次に、ストラクチヤCの第1の編集ブロツク232
を指示する。ストラクチヤAのためのストラクチヤ記述
子は、ローカル・メモリ234のアドレス@1にストアさ
れている。ストラクチヤ記述子はストラクチヤAによる
ストラクチヤCの実行用のEXSLアドレスを指示する。実
行ストラクチヤ・ブロツク236は参照数字238のアドレス
@2を指示するポインタを含んでいる。ストラクチヤC
のストラクチヤ記述子は、共用メモリ中の編集ブロツク
・ポインタのリストを指示するポインタ240を含んでお
り、このポインタはストラクチヤCの編集ブロツクを指
示する。加えて、これは、編集ブロツクが他のストラク
チヤにより参照されることを心配することなく、ストラ
クチヤ編集動作の間で、各ストラクチヤの中に最初の編
集ブロツクが自由に作成され、置換され、または削除さ
れるのを可能にする。
実施例のシステムにおいて、64Kバイトまでの2のn
乗で任意の大きさのブロツク用のメモリを割当てるため
のメモリ管理手法が用いられている。更に、この実施例
において、迅速に記述子の割当をするために、一定ブロ
ツク・サイズのストラクチヤ記述子が設けられている。
上述したストラクチヤ・ストレージの組織は、ストラ
クチヤの編集機能を効率良く達成させる。下記のストラ
クチヤ・ストレージ編集コマンドが与えられる。
−編集制御機能 −ストラクチヤのオープン −ストラクチヤの終了 −エレメント・ポインタのセツト −エレメント・ポインタのオフセツト −ラベルにおけるエルメント・ポインタのセツト −ピツク識別子におけるエレメント・ポインタのセツト −タイプにおけるエレメントの位置付け −ストラクチヤの内容の修正 −編集グルーブの挿入 −編集グループの置換 −ストラクチヤのコピー −エレメントの削除 −エレメントの範囲の削除 −ラベル間のエレメントの削除 −ストラクチヤを空にすること −エレメントのループの削除 −ストラクチヤの処理 −ストラクチヤの削除 −すべてのストラクチヤの削除 −ストラクチヤ・ネツトワークの削除 −ストラクチヤ・ネツトワークを条件付で削除 上述のテーブルは編集及び更新に対して、階層的グラ
フイツク・データ・ストラクチヤを迅速にアクセスする
のを可能にする。例えば、編集ブロツクにストラクチヤ
・エレメントを付加したり、オブジエクトに線を付加す
るために、次のような動作が遂行される。
(1)ストラクチヤをオープンする。(識別子=×××
×) ストラクチヤ記述子ハツシユ・テーブルがストラクチ
ヤ××××に対して検索される。若し、ストラクチヤが
見出されなければ、新しいストラクチヤ記述子が作成さ
れる。
(2)ラベルにエレメント・ポインタをセツトする。
ラベル識別子エレメント・ブロックを見出して、対応
する編集ブロック中のラベル識別子ストラクチャ・エレ
メントを見出すために、ラベル識別子ハッシュ・テーブ
ルが検索される。
(3)編集ブロツクを挿入する。(良好な実施例におい
て64Kバイトのデータまで) 若し、現在の編集ブロツクが、充分な自由な空間を持
っているならば、挿入される編集ブロツクは現在のブロ
ツクに付加される。充分な空間がない場合、現在の編集
ブロツク中に挿入されるべき編集ブロツクの大ききに依
存して、若し、合計のサイズが64Kバイトよりも小さけ
れば、2つのブロツクを連結して新しいブロツクを作成
し、若し、合計のサイズが64Kバイトよりも大きけれ
ば、全く新しい編集ブロツクを作成して元の編集ブロツ
クに連結するか、または、現在の編集ブロツクを分割し
て、2つの新しい編集ブロツクを作り、その後、挿入さ
れるべきブロツクを新しいブロツクに挿入して新しい編
集ブロツクが作成される。
ピツク識別子、ラベル識別子及び実行ストラクチヤ・
エレメントは、特別に取り扱われる。ピツク識別子及び
ラベル識別子は挿入される編集ブロツク中に連結され、
そして、ピツク識別子エレメント・ブロツク、またはラ
ベル識別子エレメント・ブロツクに加えられる。実行ス
トラクチヤは、実行ストラクチヤを見出すためのハツシ
ユ・テーブルを検索することによつて付加され、若し、
見出されなかつたならば、関連するストラクチヤ記述子
テーブル、実行ストラクチヤ・テーブルを作成して、編
集ブロツク中のデータ・ワードに編集ブロツク・アドレ
ス・リストを指示するポインタを加える。
(4)ストラクチヤを終了する。
ストラクチヤ全体を削除することは、より複雑な例で
ある。第10(a)図は6個のストラクチヤの間の関係を
示している。若し、ストラクチヤBが削除されるものと
すると、ストラクチヤB及び他のストラクチヤの間の相
互関係は、削除するという観点から、検査され、訂正さ
れねばならない。第10(a)図に示されたように、スト
ラクチヤBはストラクチヤC及びストラクチヤAによっ
て実行され、それは、転じて、ストラクチヤDを実行す
る。ストラクチヤBの削除は以下のステツプを含んでい
る。
(1)ストラクチャBのストラクチャ参照リストを追跡
し、ストラクチャBを参照する(実行する)実行ストラ
クチャ・ブロックを見出し、これらをリスト中から削除
する。同時に、実行ストラクチャ・リスト中の残された
実行ストラクチャ・ブロックを再連結する。
(2)ストラクチャBによって実行されるストラクチャ
のためのストラクチャ参照リストを再連結するために、
ストラクチャBにつての実行ストラクチャ・リストを検
索する。
(3)ピツク識別子のリストを検索し、若し、ストラク
チヤBの中にピツク識別子があれば、ハツシング・チエ
ーンからすべてのピツク識別子ブロツクを除去する。
(4)ラベル標識リストを検索し、ストラクチヤBの中
のその参照ラベルのハツシング・チエーンからすべての
ラベル・ブロツクを除去する。
(5)編集ブロツクを検索し、ストラクチヤBに関連し
たすべての編集ブロツクを除去する。
(6)ストラクチヤ記述子からストラクチヤBのストラ
クチヤ記述子を除去し、関連するストレージを自由にす
る。
この簡単な削除ストラクチヤ・コマンドは単純なスト
ラクチヤの削除を発生する。「ストラクチヤ・ネツトワ
ークの削除」及び「ストラクチヤ・ネツトワークの条件
付削除」のようなより複雑なコマンドは、これらの動作
を組合せることによって遂行することが出来る。
これらのコマンドは、関連したエレメントを迅速にア
クセスし、編集し、そして変換するために、上述したス
トラクチヤ及び制御テーブルを使用する。例えば、「ス
トラクチヤ・ネツトワークの条件付削除」コマンドは、
ストラクチヤが他のストラクチヤによつて参照されたか
否かを決定するために、参照されたストラクチヤ中の各
実行ストラクチヤを分析する。若し、参照されたなら
ば、それは削除されない。同様に、項目(item)を削
除、または置換するコマンドは、他の記述子によつてそ
の項目に対する他の参照の有無を考慮する。
このようにして、本発明のシステムはストラクチヤ・
ストレージのデータを迅速且つ効果的に編集する手段を
与える。
F.発明の効果 本発明は参照されたデータ・ストラクチヤに対して迅
速なアクセスを可能としたストラクチヤ・ストレージの
組織を与え、これにより、グラフイツク・データを位置
付けたり、更新する処理を迅速、且つ効率的に行ない、
システムとオペレータとの対話をリアル・タイムでサポ
ートする。
【図面の簡単な説明】
第1図は本発明に従ったグラフィツク・データのエレメ
ントの間の階層的な関係を示すブロツク図、第2図は本
発明を適用できるグラフィツク・デイスプレー・システ
ムを示すブロツク図、第3図はデイスプレー・システム
中のデータの流れを示すブロツク図、第4図はストラク
チヤの階層的な関係を示すブロツク図、第5図はストラ
クチヤ・エレメントの識別子を説明するためのブロツク
図、第6図は編集ブロツクの内容を説明するための図、
第7図はハツシング・テーブルとストラクチヤ記述子と
の間の関係を説明するための図、第8(a)図はビユー
の例の中のストラクチヤの間の関係を示す図、第8
(b)図は本発明を適用したメモリ構造の間の相互関係
を説明するための図、第9図は本発明を適用した地域的
メモリと大域メモリとの間の関係を説明するための図、
第10(a)図及び第10(b)図はストラクチヤの間の関
係を示す図である。 100……ユーザのプログラム、104……ストラクチヤ・ス
トレージ、106……ワークステーシヨンのリスト、136、
138、140……ビユー・ポインタ、142……ルート・ブロ
ツク、150……ストラクチヤA、152……ストラクチヤ
B、151……実行コマンド、164……ラベル識別子、168
……前方向ポインタ、170……後方向ポインタ。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 Computers & graph ics vol.12 no.2 (1988),PERGAMON PRES S P201〜211,「A shareab le Centralised dat abase for KRT3:A h ierarchical graphi cs system based on phigs」,Toby Howar d (58)調査した分野(Int.Cl.6,DB名) G06F 15/62

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】コンピュータ・グラフィックス・システム
    において、デイスプレイ・イメージを発生させるため
    に、グラフィック・プリミテイブを表す階層化された複
    数のデータ・ストラクチャをトラバースする場合に、上
    記複数のデータ・ストラクチャの各々が選択的に他のデ
    ータ・ストラクチャの実行を供なっている中で、上記複
    数のデータ・ストラクチャを、容易にアクセスされるよ
    うに、連結する方法であって、 他のデータ・ストラクチャによって上記複数のデータ・
    ストラクチャの1つが呼び出される場合に、呼び出して
    いるデータ・ストラクチャと呼び出されるデータ・スト
    ラクチャとに関連付けられる分離された1つの実行スト
    ラクチャ・ブロックをメモリ中に作成するステップと、 上記呼び出しているデータ・ストラクチャのために、上
    記呼び出しているデータ・ストラクチャに関連する複数
    の実行ストラクチャ・ブロックを連結して実行ストラク
    チャ・リストを作成するステップと、 上記呼び出されるデータ・ストラクチャのために、上記
    呼び出されるデータ・ストラクチャに関連する複数の実
    行ストラクチャ・ブロックを連結してストラクチャ参照
    リストを作成するステップと、 を含む方法。
  2. 【請求項2】上記実行ストラクチャ・リストおよびスト
    ラクチャ参照リストが二重に連結されたリストである、
    請求項1記載の方法。
  3. 【請求項3】さらに、上記複数のデータ・ストラクチャ
    の各々のために、関連するストラクチャ記述子をメモリ
    中に作成するステップを含み、 上記複数の実行ストラクチャ・ブロックの各々が、呼び
    出しているデータ・ストラクチャのためのストラクチャ
    記述子と呼び出されるデータ・ストラクチャのためのス
    トラクチャ記述子とを指示するポインタを含んでいる、
    請求項1記載の方法。
JP2248984A 1989-10-24 1990-09-20 グラフイツク・データをストアする方法 Expired - Lifetime JP2943121B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US42661889A 1989-10-24 1989-10-24
US426618 1989-10-24

Publications (2)

Publication Number Publication Date
JPH03144771A JPH03144771A (ja) 1991-06-20
JP2943121B2 true JP2943121B2 (ja) 1999-08-30

Family

ID=23691528

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2248984A Expired - Lifetime JP2943121B2 (ja) 1989-10-24 1990-09-20 グラフイツク・データをストアする方法

Country Status (3)

Country Link
EP (1) EP0425180B1 (ja)
JP (1) JP2943121B2 (ja)
DE (1) DE69030233D1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303334A (en) * 1992-03-05 1994-04-12 Adobe Systems Incorporated System for generating a rasterized graphic image

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Computers & graphics vol.12 no.2(1988),PERGAMON PRESS P201〜211,「A shareable Centralised database for KRT3:A hierarchical graphics system based on phigs」,Toby Howard

Also Published As

Publication number Publication date
DE69030233D1 (de) 1997-04-24
EP0425180B1 (en) 1997-03-19
EP0425180A3 (en) 1992-09-02
EP0425180A2 (en) 1991-05-02
JPH03144771A (ja) 1991-06-20

Similar Documents

Publication Publication Date Title
US5249265A (en) Structure storage management in a graphics display device
US6654761B2 (en) Controlling which part of data defining a node-link structure is in memory
US7315855B2 (en) Method for efficient processing of multi-state attributes
JP2908810B2 (ja) データベース
Copeland Jr et al. The architecture of CASSM: A cellular system for non-numeric processing
KR100629067B1 (ko) 검색 질의를 생성하는 방법, 시스템 및 컴퓨터 판독 가능 기록 매체
US6108698A (en) Node-link data defining a graph and a tree within the graph
JPH04275684A (ja) 図形情報データベース構築方法およびその方法が適用される装置
KR100529661B1 (ko) 오브젝트 통합 관리 시스템
CN104881466A (zh) 数据分片的处理以及垃圾文件的删除方法和装置
US5182797A (en) Multi-processor graphics display system for displaying hierarchical data structures
JP2686758B2 (ja) 図形編集装置
JP2943121B2 (ja) グラフイツク・データをストアする方法
CN115329753B (zh) 一种基于自然语言处理的智能数据分析方法和系统
JPH06214842A (ja) データベースアクセス許容方法
CN111506380A (zh) 一种渲染方法、装置、设备及存储介质
JP3433842B2 (ja) クラスタリング方法及びシステム
US5802326A (en) Method and apparatus for efficiently updating coordinates of hierarchical views
JPH05158699A (ja) クラス情報を管理するための方法及び装置
KR20060118488A (ko) 하드웨어 데이터베이스 관리 시스템의 아키텍처
JPH03241393A (ja) マルチウインドウ処理装置及び方法
JP2785138B2 (ja) 大規模知識データベースシステムにおける遺伝方式
JPH03214322A (ja) 計算機システム
Giloi et al. Interactive graphics on intelligent terminals in a time-sharing environment
JPH0630065B2 (ja) 情報検索方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080625

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080625

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100625

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110625

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110625

Year of fee payment: 12