(57)【特許請求の範囲】
【請求項１】
コンピュータにより実行されるデータのエクスポート方法であり、
実行中のグラフィックアプリケーションプログラムにおいて、
コンピュータ設計支援プログラム（ＣＡＤ）から一つ以上の図形関数に対する関数呼び出しのシーケンスを受け取って実行するに際して、
前記コンピュータは、情報処理プログラム（１１、１２、１５）を実行することのできる少なくとも一つの中央処理ユニットと、前記情報処理プログラム（１１、１２、１５）および幾何学的実体（１０）に結合されたデータを、前記情報処理プログラム（１１、１２、１５）の実行中に保存することのできるメモリ（１６）を有し、
図形関数の処理は、点データと実体データとの二種類のデータにより図形を生成出力するためのアプリケーションプログラムインターフェース（ＡＰＩ）を介して実行するものであり、
前記コンピュータ設計支援プログラム（ＣＡＤ）は、オリジナルのＡＰＩライブラリに対してではなく置換ライブラリに対して関数呼び出しを行い、
各関数呼び出しに応じて、関数呼び出しが予め定義された一つ以上の関数呼び出しの一つであるかどうか決定し、次に、
関数呼び出しに係るデータが、点データの種類ならば、エクスポート用のデータ構造に一つ以上の幾何学的実体の頂点を示す点データを加え、
関数呼び出しに係るデータが、実体データの種類ならば、エクスポート用のデータ構造に一つ以上の幾何学的実体を示す実体データを加え、
関数呼び出しが、終了状態を示す種類ならば、エクスポート用のデータ構造のデータを一つ以上のテキスト形式のエクスポートファイルにエクスポートし、
関数呼び出しの最後のシーケンスを受信した後、一つ以上のエクスポートファイルを閉じ、
関数呼び出しのシーケンスは、二つ以上の終了状態の関数呼び出しを含み、二つ以上の関数呼び出しの終了状態に応じて二つ以上の回数のエクスポートが起こり、
前記テキスト形式のエクスポートファイルは、第二フォーマットによるものであり、
該第二フォーマットは、前記ＣＡＤプログラムを用いた第一フォーマットと異なり、データ構造が多数のデータテーブルを含み、点データは、第一のテーブルに加えられ、実体データは第二のテーブルに加えられることを特徴とする方法。
【請求項２】
一つ以上のテキストエクスポートファイルは、図形変換形式（ＤＸＦ）ファイルであることを特徴とする、請求項１に記載の方法。
【請求項３】
実体データは、三角形を特定するデータを含むことを特徴とする、請求項１に記載の方法。
【請求項４】
実体データは、四角形を特定するデータを含むことを特徴とする、請求項１に記載の方法。
【請求項５】
エクスポートされたデータは、外付けされた記憶手段に記憶されるようにしたことを特徴とする、請求項１に記載の方法。
【請求項６】
コンピュータに基づく処理命令を含むコンピュータプログラムであって、
実行中のグラフィックアプリケーションプログラムにおいて、
コンピュータ設計支援プログラム（ＣＡＤ）から一つ以上の図形関数に対する関数呼び出しのシーケンスを受け取って実行するに際して、
前記コンピュータは、情報処理プログラム（１１、１２、１５）を実行することのできる少なくとも一つの中央処理ユニットと、前記情報処理プログラム（１１、１２、１５）および幾何学的実体（１０）が結合したデータを、前記情報処理プログラム（１１、１２、１５）の実行中に保存することのできるメモリ（１６）を有し、
図形関数の処理は、点データと実体データとの二種類のデータにより図形を生成出力するためのアプリケーションプログラムインターフェース（ＡＰＩ）を介して実行するものであり、
前記コンピュータ設計支援プログラム（ＣＡＤ）は、オリジナルのＡＰＩライブラリに対してではなく置換ライブラリに対して関数呼び出しを行い、
各関数呼び出しに応じて、関数呼び出しが予め定義された一つ以上の関数呼び出しの一つであるかどうか決定し、次に、
関数呼び出しに係るデータが、点データの種類ならば、エクスポート用のデータ構造に一つ以上の幾何学的実体の頂点を示す点データを加え、
関数呼び出しに係るデータが、実体データの種類ならば、エクスポート用のデータ構造に一つ以上の幾何学的実体を示す実体データを加え、
関数呼び出しが、終了状態を示す種類ならば、エクスポート用のデータ構造のデータを一つ以上のテキスト形式のエクスポートファイルにエクスポートし、
関数呼び出しの最後のシーケンスを受信した後、一つ以上のエクスポートファイルを閉じ、
関数呼び出しのシーケンスは、二つ以上の終了状態の関数呼び出しを含み、二つ以上の関数呼び出しの終了状態に応じて二つ以上の回数のエクスポートが起こり、
点データは、一つ以上の頂点を示し、実体データは一つ以上の幾何学的実体を示し、
前記テキスト形式のエクスポートファイルは、第二フォーマットによるものであり、
該第二フォーマットは、前記ＣＡＤプログラムを用いた第一フォーマットと異なり、データ構造が多数のデータテーブルを含み、点データは、第一のテーブルに加えられ、実体データは第二のテーブルに加えられることを特徴とするコンピュータプログラム。
【請求項７】
一つ以上のテキストエクスポートファイルは、図形変換形式（ＤＸＦ）ファイルであることを特徴とする、請求項６に記載のコンピュータプログラム。
【請求項８】
実体データは、三角形を特定するデータを含むことを特徴とする、請求項６に記載のコンピュータプログラム。
【請求項９】
実体データは、四角形を特定するデータを含むことを特徴とする、請求項６に記載のコンピュータプログラム。
【請求項１０】
エクスポートされたデータは、外付けされた記憶手段に記憶されるようにしたことを特徴とする、請求項６に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、情報処理データのエクスポートの、そしてとくに、幾何学的実体が結合したデータの、コンピュータ設計支援技術（ＣＡＤ）ソフトまたはテレビゲームなどの情報処理プログラムからの、エクスポートに関するものである。
【背景技術】
【０００２】
ＣＡＤおよびテレビゲーム幾何学的実体などのような、モデル化および／または操作の技術およびシステムは、自動車または航空機などの製品のコンピュータ設計支援技術から、飛行のシミュレータなどのようなシミュレーションプログラム、３Ｄバーチャルリアリティのアクションゲームに至るまで、今では産業のすべての分野において非常に普及している。
【０００３】
とくに、ＣＡＤの技術が２０年未満の比較的新しいものであっても、先行するＣＡＤシステムの古いデータ構造保持をもたらすための発展する互換性の必要性は、情報テクノロジーの急速な進化にもかかわらず、現代的な情報処理システムによって提供される可能性を非常に部分的にしか活用しない。
【０００４】
また、ＣＡＤであれ、テレビゲームの分野であれ、利用されているこれらのデータ構造のフォーマットは、普遍的に所有的なものであり、すなわち、関連するソフト、または、少なくとも関連するソフトのエディター固有のものである。しかしながら、少なくともＣＡＤの分野では、これらのグラフィックソフトは、一般的に、幾何学的実体が結合したさまざまなデータフォーマットをインポートするための機能を呈する。
【０００５】
それに対して、顧客保持のための明らかな理由により、これらのソフトのエディターは、それが何であれ、彼らが使用しているデータフォーマットの仕様を公表したがらず、そして、同様の考えにおいて、彼らのソフトから競合者のソフトへすべてのデータをエクスポートすることのできるユーティリティープログラムを提供することにためらいがちである。
【０００６】
この事実によって、これらのソフトによって使用されているデータを、幾何学的データのモデル化および／または操作の情報処理システムから類似の情報処理システムへ完全に転送することが非常に困難であるという結果がもたらされる。しかしながら、この転送は、例えば、同業者の異なる下請け業者において、さらには同じ会社内において起こるように、とりわけ、一般的に歴史的理由により、ＣＡＤを長い昔から使用している大会社において起こるように、異質のＣＡＤシステム同士の間でデータを転送するのに、頻繁に必要となるものである。
【０００７】
同様に、テレビゲームの技術の進化が、いずれは、テレビゲームにおける人物または物をインポートすることを可能にすることが想定され、その際、別のテレビゲームからのこのタイプのエクスポートの問題が新たに提起されることになるであろう。
【０００８】
幾何学的実体が結合したデータのモデル化および／または操作の異質のシステム同士の間での、データ転送のこのような必要性は、これらのデータの変換のユーティリティープログラムの開発コストを非常に高いものにするという結果をもたらし、それは、関連するデータベースのフォーマットに関する厳密な仕様の不在、そして同様に、関連するシステムのデータベースの構造からもたらされる改良または変更の際に、全体的にまたは部分的にこれらのユーティリティープログラムが再書き込みされなければならないためである。さらに、このデータ変換は、変換すべきデータのフォーマットに関する厳密な仕様が不在であるため、一般的に不完全なものである。
【０００９】
また、ＣＡＤシステムを使用する企業において、使用されているＣＡＤソフトのエディターの活動停止という仮定において、ソフトのＣＡＤデータを別のソフトにおいて回復することができるよう、異なるＣＡＤシステムの間での交換手段としてだけでなく、同時に使用するＣＡＤソフトのエディターに対する最小限の独立を確保するために、開放的であり、普及した、よく定義されたデータの構造およびフォーマットが必要となる。
【００１０】
上記を考慮して、安価で信頼性のある、このソフトによって使用されているデータ構造についていかなる知識も必要とせず、そのソフトがどんな形のものであれ、いかなる変更も必要とせず、そして、関連するソフトに対する特別なインターフェースの開発も必要としない、幾何学的実体が結合したデータのモデル化および／または操作の何らかのソフトから、幾何学的実体が結合したデータをエクスポートすることを可能にする方法およびシステムへの必要であることは明白である。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
先行技術においては、ｇｌＴｒａｃｅまたはｇｌＡｎａｌｙｓｅＰｒｏのようなユーティリティープログラムが存在し、該プログラムは、グラフィックアプリケーションによって実施された、関数またはグラフィック基本要素の呼び出しの遮蔽および保存を可能にする。しかしながら、これらのユーティリティープログラムは、関連するグラフィックアプリケーションをディバッグする機能しかもたず、同じ性質の別のシステムへの幾何学的実体へ結合されたデータのエクスポートを可能にすることは全くできない。
【課題を解決するための手段】
【００１２】
第１に、
コンピュータにより実行されるデータのエクスポート方法であり、
実行中のグラフィックアプリケーションプログラムにおいて、
コンピュータ設計支援プログラム（ＣＡＤ）から一つ以上の図形関数に対する関数呼び出しのシーケンスを受け取って実行するに際して、
前記コンピュータは、情報処理プログラム（１１、１２、１５）を実行することのできる少なくとも一つの中央処理ユニットと、前記情報処理プログラム（１１、１２、１５）および幾何学的実体（１０）に結合されたデータを、前記情報処理プログラム（１１、１２、１５）の実行中に保存することのできるメモリ（１６）を有し、
図形関数の処理は、点データと実体データとの二種類のデータにより図形を生成出力するためのアプリケーションプログラムインターフェース（ＡＰＩ）を介して実行するものであり、
前記コンピュータ設計支援プログラム（ＣＡＤ）は、オリジナルのＡＰＩライブラリに対してではなく置換ライブラリに対して関数呼び出しを行い、
各関数呼び出しに応じて、関数呼び出しが予め定義された一つ以上の関数呼び出しの一つであるかどうか決定し、次に、
関数呼び出しに係るデータが、点データの種類ならば、エクスポート用のデータ構造に一つ以上の幾何学的実体の頂点を示す点データを加え、
関数呼び出しに係るデータが、実体データの種類ならば、エクスポート用のデータ構造に一つ以上の幾何学的実体を示す実体データを加え、
関数呼び出しが、終了状態を示す種類ならば、エクスポート用のデータ構造のデータを一つ以上のテキスト形式のエクスポートファイルにエクスポートし、
関数呼び出しの最後のシーケンスを受信した後、一つ以上のエクスポートファイルを閉じ、
関数呼び出しのシーケンスは、二つ以上の終了状態の関数呼び出しを含み、二つ以上の関数呼び出しの終了状態に応じて二つ以上の回数のエクスポートが起こり、
前記テキスト形式のエクスポートファイルは、第二フォーマットによるものであり、
該第二フォーマットは、前記ＣＡＤプログラムを用いた第一フォーマットと異なり、データ構造が多数のデータテーブルを含み、点データは、第一のテーブルに加えられ、実体データは第二のテーブルに加えられることを特徴とする方法。
第２に、
一つ以上のテキストエクスポートファイルは、図形変換形式（ＤＸＦ）ファイルであることを特徴とする、上記第１に記載の方法。
第３に、
実体データは、三角形を特定するデータを含むことを特徴とする、上記第１に記載の方法。
第４に、
実体データは、四角形を特定するデータを含むことを特徴とする、上記第１に記載の方法。
第５に、
エクスポートされたデータは、外付けされた記憶手段に記憶されるようにしたことを特徴とする、上記第１に記載の方法。
第６に、
コンピュータに基づく処理命令を含むコンピュータプログラムであって、
実行中のグラフィックアプリケーションプログラムにおいて、
コンピュータ設計支援プログラム（ＣＡＤ）から一つ以上の図形関数に対する関数呼び出しのシーケンスを受け取って実行するに際して、
前記コンピュータは、情報処理プログラム（１１、１２、１５）を実行することのできる少なくとも一つの中央処理ユニットと、前記情報処理プログラム（１１、１２、１５）および幾何学的実体（１０）が結合したデータを、前記情報処理プログラム（１１、１２、１５）の実行中に保存することのできるメモリ（１６）を有し、
図形関数の処理は、点データと実体データとの二種類のデータにより図形を生成出力するためのアプリケーションプログラムインターフェース（ＡＰＩ）を介して実行するものであり、
前記コンピュータ設計支援プログラム（ＣＡＤ）は、オリジナルのＡＰＩライブラリに対してではなく置換ライブラリに対して関数呼び出しを行い、
各関数呼び出しに応じて、関数呼び出しが予め定義された一つ以上の関数呼び出しの一つであるかどうか決定し、次に、
関数呼び出しに係るデータが、点データの種類ならば、エクスポート用のデータ構造に一つ以上の幾何学的実体の頂点を示す点データを加え、
関数呼び出しに係るデータが、実体データの種類ならば、エクスポート用のデータ構造に一つ以上の幾何学的実体を示す実体データを加え、
関数呼び出しが、終了状態を示す種類ならば、エクスポート用のデータ構造のデータを一つ以上のテキスト形式のエクスポートファイルにエクスポートし、
関数呼び出しの最後のシーケンスを受信した後、一つ以上のエクスポートファイルを閉じ、
関数呼び出しのシーケンスは、二つ以上の終了状態の関数呼び出しを含み、二つ以上の関数呼び出しの終了状態に応じて二つ以上の回数のエクスポートが起こり、
点データは、一つ以上の頂点を示し、実体データは一つ以上の幾何学的実体を示し、
前記テキスト形式のエクスポートファイルは、第二フォーマットによるものであり、
該第二フォーマットは、前記ＣＡＤプログラムを用いた第一フォーマットと異なり、データ構造が多数のデータテーブルを含み、点データは、第一のテーブルに加えられ、実体データは第二のテーブルに加えられることを特徴とするコンピュータプログラム。
第７に、
一つ以上のテキストエクスポートファイルは、図形変換形式（ＤＸＦ）ファイルであることを特徴とする、上記第６に記載のコンピュータプログラム。
第８に、
実体データは、三角形を特定するデータを含むことを特徴とする、上記第６に記載のコンピュータプログラム。
第９に、
実体データは、四角形を特定するデータを含むことを特徴とする、上記第６に記載のコンピュータプログラム。
第１０に、
エクスポートされたデータは、外付けされた記憶手段に記憶されるようにしたことを特徴とする、上記第６に記載のコンピュータプログラム。
【発明を実施するための最良の形態】
【００１３】
以下に、例としてのみ、付属の図面を参照に、本発明の二つの実施態様を記載する。
−図１は、本発明のエクスポート方法を使用しない、スタンダードディスプレイ関数のライブラリによる、幾何学的モデルのコンピュータ画面上での表示の機能図である。
−図２は、本発明による、幾何学的実体が結合したデータのエクスポート方法を使用した、幾何学的モデルのコンピュータ画面上での表示の機能図である。
−図３は、本発明による、幾何学的モデルのデータのエクスポート方法のフローチャートである。
−図４は、本発明の第一の実施態様における、図３の囲み４０の詳細なフローチャートである。
−図５は、本発明の第二の実施態様における、図３の囲み４０の詳細なフローチャートである。
【００１４】
本発明の方法は、幾何学的実体が結合したデータのモデル化および／操作の情報処理システム１において機能する。
【００１５】
この情報処理システム１は、情報処理システム１に本発明の方法が実施されている、されていないにかかわらず、幾何学的実体が結合したデータのモデル化および／操作のプログラム１１の、図示されていない、ユーザー２による実施を可能にする。
情報処理システム１は、さらに、グラフィック関数のライブラリ１２によって操作されるグラフィックインターフェースカード１３から由来するグラフィック信号の、グラフィックスクリーン１４上での表示を可能にする。
【００１６】
この説明の続きにおいて、幾何学的実体が結合したデータのモデル化および／または操作のプログラム１１は、より簡易にするために、グラフィックアプリケーション１１として参照される。
【００１７】
本発明の好ましい実施態様において、本発明の方法を機能させるために使用される情報処理システム１は、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）活用システムを実施するコンピュータである。
この活用システムにおいて、幾何学的データのディスプレイプログラム１２は、例えば、シリコングラフィック株式会社のＯｐｅｎＧＬ仕様に合致する、動的リンクエディションライブラリあるいはＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）経由でインプリメンテーションされたグラフィックＡＰＩ（アドバンスプログラミングインターフェース）である。このＤＬＬは、通常、Ｗｉｎｄｏｗｓ（登録商標）システムの目録内に位置しており、“ｏｐｅｎｇｌ３２．ｄｌｌ”という名がついている。
【００１８】
ライブラリＯｐｅｎＧＬは、数百の関数を含み、この説明に例として用いられているＯｐｅｎＧＬ関数の全体は、本発明の方法の実施があるものであろうと、ないものであろうと、この説明を適切な量にとどめるために、ＯｐｅｎＧＬの関数の非常に小さいサブグループに意図的に制限された。
しかしながら、本発明の原則は、この説明で紹介されるＯｐｅｎＧＬの関数に限定されるものではなく、ＯｐｅｎＧＬの仕様において存在するすべての関数に同様に応用されることが、現時点から確かに理解されなければならない。
【００１９】
図１を参照しながら、本発明のデータエクスポート方法の使用なしでの、グラフィックスクリーン１４における幾何学的モデル１０のディスプレイの関数の原則が説明される。
【００２０】
グラフィックアプリケーション１１がグラフィックスクリーン１４に幾何学的モデル１０を表示することを望む際、グラフィックインターフェース１２のＤＬＬに位置するグラフィック関数を呼び出す。
このグラフィックインターフェース１２は、接続されたソフトウェアパイロット１３を経由して、グラフィックカード１３にベクトルタイプのコマンドを送る。
【００２１】
厳密にいうところのコンピュータ画面は、陰極線管、または類似の装置から構成されているため、ビデオタイプの走査によって表示を行い、その結果、ユーザー２のために表示されたグラフィックデータの視覚的持続が保持されるように、表示されたグラフィックデータの二進の画像を保存することが必要になる。
この二進の画像は、スクリーン１４のディスプレイ可能なポイントのそれぞれについて、一定数のビットで構成されているが、リフレッシュメモリまたはリフレッシュメモリと呼ばれる、グラフィックカード１３の内部メモリに保存される。
ユーザー２にとってのデータの視覚的持続は、毎秒数十回この二進の画像を再読み込みすることによって、そして、再読み込みされた情報からグラフィックカード１３のリフレッシュメモリに保存された画像の代表的なビデオ信号を生成することによって、グラフィックカード１３によって獲得される。
これらのビデオ信号は、グラフィックカード１３によって、グラフィックスクリーン１４に送られ、そこで、グラフィックカード１３のリフレッシュメモリに二進の形で保存された画像の表示を引き起こす。
【００２２】
コンピュータスクリーン１４に幾何学的モデル１０を表示することを望むグラフィックアプリケーション１１は、したがって、ＤＬＬ  ＯｐｅｎＧＬ１２に存在するグラフィック関数に一連の呼び出しを行う。
ＯｐｅｎＧＬ仕様において、このグラフィック関数への一連の呼び出しは、グラフィックスクリーン１４に表示される二進のポイントでカード１３に送られる命令の変換の完了を引き起こす特別な関数に呼び出しをすることによって終了する。
【００２３】
例えば、幾何学的モデル１０を表示するために、それぞれの座標が：
Ａ：（０，１０，０）；
Ｂ：（０，１０，−１０）；
Ｃ：（０，０，０）；
Ｄ：（０，０，−１０）；
である点ＡＢＣおよびＢＣＤをそれぞれ通過する、二つの三角形Ｔ１およびＴ２が構成される。
【００２４】
グラフィックアプリケーション１１は、ＤＬＬ  ＯｐｅｎＧＬ１２にしたがってグラフィック関数の呼び出しを実施する：
ｇｌＢｅｇｉｎ（ＧＬ＿ＴＲＩＡＮＧＬＥ＿ＳＴＲＩＰ）
ｇｌＶｅｒｔｅｘ３ｆｖ（０．０００，１０．０００，０．０００）
ｇｌＶｅｒｔｅｘ３ｆｖ（０．０００，１０．０００，−１０．０００）
ｇｌＶｅｒｔｅｘ３ｆｖ（０．０００，０．０００，０．０００）
ｇｌＶｅｒｔｅｘ３ｆｖ（０．０００，０．０００，−１０．０００）
ｇｌＥｎｄ（）
ｗｇｌＳｗａｐＢｕｆｆｅｒｓ（）
【００２５】
この一連の呼び出しにおいて、呼び出しｇｌＢｅｇｉｎ（ＧＬ＿ＴＲＩＡＮＧＬＥ＿ＳＴＲＩＰ）は、三角形の構成の開始を示す。
呼び出しｇｌＥｎｄ（）は、終了を示す。
関数ｇｌＶｅｒｔｅｘ３ｆｖは、その三つの座標ｘ、ｙおよびｚによって、三角形の頂点のうちの一つを定義することを可能にする。
【００２６】
先のすべての要素が、上記の関数の呼び出しを経由して、グラフィックアプリケーション１１によって、グラフィックＡＰＩ１２に伝送された際、グラフィックアプリケーション１１は、上記の例に登場した、関数“ｇｌＦｌｕｓｈ”または関数“ｗｇＳｗａｐＢｕｆｆｅｒｓ”などの、グラフィックＡＰＩ１２の適切な関数によって先立って伝送された要素のディスプレイの完了を引き起こす。
これらの関数は、二つとも、グラフィックカード１３の通常のリフレッシュメモリにおいて、先立ってビット画像で受信された、グラフィックの命令の変換の完了を引き起こし、その結果、グラフィックスクリーン１４において、先立って受信されたグラフィック命令による表示が終了される。
【００２７】
命令“ｗｇｌＳｗａｐＢｕｆｆｅｒｓ”は、このグラフィックカード１３がそれを二つ保持している場合、グラフィックカード１３の二つのメモリのスワップを引き起こす。
【００２８】
記載されているディスプレイの例の場合、命令“ｗｇｌＳｗａｐＢｕｆｆｅｒｓ”の受信の結果、グラフィックインターフェース１２を経由して、グラフィックアプリケーション１１によってグラフィックカード１３に伝送されるグラフィック命令のグラフィックスクリーン１４への実際の表示が引き起こされる。
この場合、このスクリーン１４上の二つの三角形Ｔ１およびＴ２から構成される、幾何学的モデル１０の表示を終了させる結果となる。
【００２９】
ここからは、図２および３を参照に、本発明のエクスポート方法を実施する幾何学的モデルのエクスポートを説明する。
【００３０】
本発明の方法を実施するグラフィックデータエクスポートプログラムのインストールの際、Ｗｉｎｄｏｗｓ（登録商標）システムの目録に存在する元のＤＬＬ“ｏｐｅｎｇｌ３２．ｄｌｌ”１２は、例えば、“ｏｐｅｎｇｌ３２ｂｉｓ．ｄｌｌ”と名前を変更され、そして、本発明の方法を実施するＤＬＬ１５によって置換され、元と同じように、すなわち“ｏｐｅｎｇｌ３２．ｄｌｌ”と名づけられる。
本発明によるこのＤＬＬ１５は、ＯｐｅｎＧＬ仕様に合致した、元のＤＬＬ１２と同じ関数をもつ、つまりは、元のＯｐｅｎｇｌ１２と同じ名前、同じパラメータの、同じインターフェース関数を提供する。
【００３１】
図示されていないオペレーター２が、グラフィックアプリケーション１１によって作成された、および／または操作された幾何学的モデル１０のデータをエクスポートすることを望むとき、上記に記載されたように本発明の方法を実現するＤＬＬを最初に実施する。
それは、グラフィックアプリケーション１１によって、望まれる幾何学的モデル１０を表示させる。
本発明の方法の実施なしでの情報処理システム１の使用の枠内で先に記載されたことと同様に、グラフィックアプリケーションがスクリーンに幾何学的モデルを表示することを望むとき、Ｗｉｎｄｏｗｓ（登録商標）システムの目録内に位置する“ｏｐｅｎｇｌ３２．ｄｌｌ”という名のＤＬＬ１５を使用する、つまりは、このＤＬＬ１５に含まれるＯｐｅｎＧＬ仕様に合致する関数および基本要素の呼び出しを行う。
【００３２】
本発明による幾何学的実体が結合したデータのエクスポートプログラムのインストールの際、ＤＬＬ１２が本発明の方法を実施するＤＬＬ１５によって置換される。
グラフィックアプリケーションは、元のＤＬＬ１２に存在する関数および基本要素を提要する代わりに、本発明の方法を実施するＤＬＬ１５に存在する関数および基本要素を、確実に呼び出す。
【００３３】
変型例において、“ｏｐｅｎｇｌ３２．ｄｌｌ”と名づけられたＤＬＬ１５は、ある特殊な幾何学的なモデル化および操作アプリケーションのためにのみ、その特殊なアプリケーション１１の目録にだけインストールすることが可能である。
何故なら、Ｗｉｎｄｏｗｓ（登録商標）の活用システムがアプリケーション１１によって参照付けられているＤＬＬ１５を探す際、まず、アプリケーション１１が存在するそれと同じ目録の中を探すためである。
みつからない場合、Ｗｉｎｄｏｗｓ（登録商標）活用システムは、次に、とくにＷｉｎｄｏｗｓ（登録商標）活用システムがインストールされているシステム目録を含む、システム１によって前もって定義づけられた目録の中を探す。
【００３４】
このように、本発明の方法が実施されるとき、そして、上記の例を再度取り上げると、本発明の方法のＤＬＬ１５は、元のＤＬＬ  ＯｐｅｎＧＬ１２の代わりに、後者に対するグラフィック関数呼び出しを受信する。
本発明のこの実施態様において、本発明のＤＬＬ１５は、元のＤＬＬ１２に対して、受信された関数呼び出しを伝送し、グラフィックアプリケーション１１から来る呼び出しにおいて受信されたのと同じパラメータで、ＤＬＬ１２の対応する関数を呼び出す。
【００３５】
その結果、本発明のＤＬＬ１５は以下の関数呼び出しを受信する。
ｇｌＢｅｇｉｎ（ＧＬ＿ＴＲＩＡＮＧＬＥ＿ＳＴＲＩＰ）
ｇｌＶｅｒｔｅｘ３ｆｖ（０．０００，１０．０００，０．０００）
ｇｌＶｅｒｔｅｘ３ｆｖ（０．０００，１０．０００，−１０．０００）
ｇｌＶｅｒｔｅｘ３ｆｖ（０．０００，０．０００，０．０００）
ｇｌＶｅｒｔｅｘ３ｆｖ（０．０００，０．０００，−１０．０００）
ｇｌＥｎｄ（）
ｗｇｌＳｗａｐＢｕｆｆｅｒｓ（）
【００３６】
幾何学的実体が結合したデータをエクスポートするために、本発明によるＤＬＬ１５に含まれるプログラムは、メモリ１６において、非限定的に、ポイントのテーブル“Ｐｏｉｎｔｓ”および三角形のテーブル“Ｔｒｉａｎｇｌｅｓ”のような、幾何学的実体が結合した一定数のデータテーブルを保存し、管理する。
最初は、これらの二つのテーブルは空であり、つまり、テーブルＰｏｉｎｔｓの要素の数Ｎポイント、およびテーブルＴｒｉａｎｇｌｅｓの要素の数Ｎ三角形は、両方ともゼロである。
【００３７】
ＤＬＬ１５のプログラムは、ステップ３０で開始し、そこでは、ポイントの数Ｎポイントおよび三角形の数Ｎ三角形を０の値で初期化し、ついで、グラフィックアプリケーション１１からのグラフィック命令の受信を待機する。
命令ｇｌＢｅｇｉｎ（ＧＬ＿ＴＲＩＡＮＧＬＥ＿ＳＴＲＩＰ）の受信の際、本発明による方法は、ステップ３１に移り、命令ＧＬ＿ＢＥＧＩＮのパラメータ値が、それらの頂点によって三角形の構成を定義する一連のグラフィック命令の初めを示す、前もって定義された値、ＧＬ＿ＴＲＩＡＮＧＬＥ＿ＳＴＲＩＰであるかをテストする。
答えが否定の場合、方法はステップ３０に戻る。
ステップ３１への答えが肯定の場合、つまり、パラメータの値がＧＬ＿ＴＲＩＡＮＧＬＥ＿ＳＴＲＩＰである場合、方法はステップ３２に移り、グラフィック命令を待機する。
【００３８】
グラフィック命令の受信の際、本発明の方法は、ステップ３３において、受信された命令が命令ｇｌＶｅｒｔｅｘ３ｆｖであるかをテストする。
紹介されている例においては、答えは肯定であり、呼び出しｇｌＶｅｒｔｅｘ３ｆｖ（０．０００，１０．０００，０．０００）の受信の際、本発明の方法はステップ３４に移る。
ステップ３４では、プログラム１５は、受信されたポイントの数Ｎポイントを１ユニット分増分する、つまり、Ｎポイントの数をその最初の値０から値１へ移す。
そして、ポイントデータテーブルに、受信されたポイントを保存する。
続いて、ステップ３４において、さらに、受信された命令ｇｌＶｅｒｔｅｘ３ｆｖの、第一、第二および第三のパラメータ、この場合、ポイントデータテーブルにおける最初のポイントのｘ、ｙおよびｚの座標の位置における値０．０００、１０．０００および０．０００をそれぞれ保存する。
そして、本発明の方法はステップ３５に移る。
【００３９】
ステップ３５において、本発明の方法は、受信されたポイントの数Ｎポイントが３未満であるかどうかをテストする。
答えが肯定の場合、本発明の方法はステップ３２に戻り、そうでなければ、本発明の方法はステップ３６に移る。
【００４０】
ステップ３３において、答えが否定である場合、それは、少なくとも三つのポイントが、先の命令ｇｌＶｅｒｔｅｘ３ｆｖによって伝送されたことを意味する。
三角形を構成するＧＬ＿ＴＲＩＡＮＧＬＥ＿ＳＴＲＩＰについてのＯｐｅｎＧＬ仕様によると、それは、受信された先の三つのポイントによって構成される三角形が定義されたことを示すものである。
【００４１】
その結果、ステップ３６において、本発明の方法を実施するＤＬＬ１５のプログラムは、受信された三角形の数を１ユニット分増加させる。
つまり、受信された三角形の数Ｎ三角形を、１ユニット分増加させる。
そして、このように受信された三角形を構成するポイントの番号ｎ１、ｎ２およびｎ３を、つまり、ＯｐｅｎＧＬの仕様によると受信された先の三つのポイントを、三角形のテーブルの対応する位置に保存する。
すなわち、テーブルＴｒｉａｎｇｌｅｓの数Ｎ三角形の数の位置の、ｎ１、ｎ２およびｎ３の位置に受信された先の三つのポイントのＮポイント−２、Ｎポイント−１およびＮポイントを保存する。
【００４２】
プログラム１５は、グラフィックアプリケーション１１によって伝送され、三角形の構成を形成する他の可能なポイントを待つために、ステップ３２に戻る。
【００４３】
本発明の方法は、ステップ３３での答えが否定になるまで、ステップ３２から３６を繰り返す。
【００４４】
記載された例において、四つの命令“ｇｌＶｅｒｔｅｘ３ｆｖ”を経由して四つのポイントを得た後に、ＤＬＬ１５はそれ以外の命令“ｇｌＶｅｒｔｅｘ３ｆｖ”を受信しないが、その代わりに、命令“ｇｌＥｎｄ”を受信する。
その結果、ステップ３３において、答えは否定になり、そこでＤＬＬ１５はステップ３７に移る。
【００４５】
ＯｐｅｎＧＬ仕様において、命令“ｇｌＥｎｄ”は、先の命令ｇｌＢｅｇｉｎから開始された一連のグラフィック命令、この場合は三角形の構成ＧＬ＿ＴＲＩＡＮＧＬＥ＿ＳＴＲＩＰが終了したこと意味する。
【００４６】
ステップ３７において、ＤＬＬ１５は受信された関数の最後の呼び出しが関数“ｇｌＥｎｄ”への呼び出しであったかどうかをテストする。
答えが否定の場合、ＤＬＬ１５に含まれるプログラムは、ステップ３２に戻る。
ステップ３７におけるテストの答えが肯定の時、ＤＬＬ１５のプログラムは、ステップ３８に移る。
記載されている例においては、それは、グラフィックアプリケーション１１が、四つの命令“ｇｌＶｅｒｔｅｘ３ｆｖ”の後に命令“ｇｌＥｎｄ”を送信する際に起こる。
【００４７】
ステップ３８では、本発明のＤＬＬ１５に含まれるプログラムは、グラフィックアプリケーション１１から来る命令を待ち、ついで、このような命令が受信された際に、それはステップ３９に移る。
【００４８】
ステップ３９において、ＤＬＬ１５のプログラムは、受信されたグラフィック命令が命令ＯｐｅｎＧＬ“ｗｇｌＳｗａｐＢｕｆｆｅｒｓ”または“ｇｌＦｌｕｓｈ”であるかをテストする。
もし答えが否定の場合、つまり、受信された命令が、命令“ｗｇｌＳｗａｐＢｕｆｆｅｒｓ”でも命令“ｇｌＦｌｕｓｈ”でもなければ、本発明の方法によるＤＬＬ１５のプログラムは終了される。
ステップ３９での答えが肯定の場合は、ＤＬＬ１５のプログラムは、ステップ４０に移る。
【００４９】
記載されている例において、命令“ｇｌＥｎｄ”の送信の後、グラフィックアプリケーション１１は、命令“ｗｇｌＳｗａｐＢｕｆｆｅｒｓ”をプログラム１５に送信する。
ここで、命令“ｇｌＦｌｕｓｈ”を同様に用いることもできる。
【００５０】
本発明の方法の使用なしでの情報処理システム１の実施の枠内で先に示されたように、これらの命令は、グラフィック命令の変換、および、それらのスクリーン１４での厳密にいうところの表示を引き起こす。
したがって、他のグラフィック命令を待つことなしに、それらはスクリーン１４に表示されなければならない。
【００５１】
その結果、本発明の実施態様において、先立って受信されたグラフィック命令は、それらを保存ユニット１８へ記憶するために、これらの命令が使用される。
【００５２】
したがって、ステップ３９において、テストへの答えが肯定であるとき、つまり、命令“ｗｇＳｗａｐＢｕｆｆｅｒｓ”または“ｇｌＦｌｕｓｈ”を受信したとき、プログラム１５は、ステップ４０に移る。
そこでは、Ｒａｉｄｅｒ  ３Ｄという名前のモジュール１７が、メモリ１６に保存されたＰｏｉｎｔｓおよびＴｒｉａｎｇｌｅｓのデータテーブルをエクスポートし、該エクスポートした結果を保存ユニット１８へ記憶する。
【００５３】
本発明の方法において、ＰｏｉｎｔｓおよびＴｒｉａｎｇｌｅｓのデータテーブルが保存されているメモリ１６は、本発明の方法を実施するコンピュータにシェアされているメモリであり、そのことは、それがＤＬＬ１５によって書き込みされ、同時にモジュール１７であるＲａｉｄｅｒ  ３Ｄによって再読み込みされることができるということを意味する。
【００５４】
本発明の第一の実施態様において、ＰｏｉｎｔｓおよびＴｒｉａｎｇｌｅｓのデータテーブルは、ポイントおよび三角形が、シンプルテキストファイルの形でエクスポートされ、同じ名前のファイルで保存ユニット１８に記録される。
【００５５】
さらに、図４を参照しながら、ここで、本発明の方法の第一の実施態様による、モジュール１７であるＲａｉｄｅｒ  ３Ｄの機能を説明する。
【００５６】
この第一の実施態様において、ステップ４１で、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、記載された例において“Ｐｏｉｎｔｓ”と名づけられたポイントのエクスポートファイルを、保存ユニット１８に作成して開き、ファイル“Ｐｏｉｎｔｓ”に記録されたポイントの数ｉを値０で初期化し、次に、ステップ４２に移る。
【００５７】
ステップ４２において、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、ファイル“Ｐｏｉｎｔｓ”に記録されたポイントの数ｉがシェアされたメモリに存在するポイントの数Ｎポイント未満であるかをテストする。
ステップ４２における答えが肯定の場合、モジュール１７であるＲａｉｄｅｒ  ３Ｄはステップ４３に移る。
ステップ４３において、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、数ｉの値を１ユニット分増加させ、ついで、ファイル“Ｐｏｉｎｔｓ”に数ｉの新しい値を書き込む。
その後には、シェアされたメモリ１６に保存されたテーブル“Ｐｏｉｎｔｓ”へｉを書き込んでから、ポイント数ｉに対応する座標ｘ、ｙおよびｚを書き込む。
モジュール１７であるＲａｉｄｅｒ  ３Ｄは、そして、ファイル“Ｐｏｉｎｔｓ”におけるラインに移り、ついで、ステップ４２に戻る。
【００５８】
ステップ４２での答えが否定の場合、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、ステップ４４に移る。
ステップ４４では、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、ファイル“Ｐｏｉｎｔｓ”を閉じ、次に、ステップ４５に移る。
ステップ４５において、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、記載された例において“Ｔｒｉａｎｇｌｅｓ”と名づけられたポイントのエクスポートファイルを、保存ユニットに作成して開き、ファイル“Ｔｒｉａｎｇｌｅｓ”に書き込まれたポイントの数ｉをゼロで初期化する。
そして、それはステップ４６に移る。
【００５９】
ステップ４６において、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、ファイル“Ｔｒｉａｎｇｌｅｓ”に記録された三角形の数ｉがシェアされたメモリに存在する三角形の数Ｎより少ないかどうかをテストする。
ステップ４６における答えが肯定の場合、モジュール１７であるＲａｉｄｅｒ  ３Ｄはステップ４７に移る。
ステップ４７において、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、数ｉの値を１ユニット分増加させ、ついで、ファイル“Ｔｒｉａｎｇｌｅｓ”に数ｉの新しい値を書き込む。
ファイル“Ｔｒｉａｎｇｌｅｓ”に、シェアされたメモリに保存されているテーブル“Ｔｒｉａｎｇｌｅｓ”へｉを書き込んでから、数ｉの三角形を構成する３つのポイントのｎ1、ｎ2およびｎ3の数を書き込む。
モジュール１７は、そして、ステップ４６に戻る。
【００６０】
ステップ４６において、答えが否定であるとき、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、ステップ４８に移り、そこで、エクスポートファイル“Ｔｒｉａｎｇｌｅｓ”を閉じる。
【００６１】
先の例の場合において獲得されたテキストファイル“Ｐｏｉｎｔｓ”および“Ｔｒｉａｎｇｌｅｓ”は、以下のそれぞれのデータテーブル１および２に紹介される形をとることになる。
【００６２】
データテーブル１
１    ０．０００，１０．０００，０．０００
２    ０．０００，１０．０００，−１０．０００
３    ０．０００，０．０００，０．０００
４    ０．０００，０．０００，−１０．０００
【００６３】
データテーブル２
１    １，２，３
２    ２，３，４
【００６４】
本発明の第一の実施態様による幾何学的タイプの実体に結び付けられるデータのエクスポート方法は、ここで終了する。
ここまでで見てきたように、本発明に係るデータのエクスポート方法は、グラフィックアプリケーション１１によって作成され、および／または操作された幾何学的モデル１０を、このアプリケーションのデータフォーマットについてのいかなる知識もなしに、そして、このアプリケーション１１のいかなる変更もなしに、そして、このアプリケーション１１に特有のいかなるプログラムの開発もなしに、エクスポートすることを可能にする。
【００６５】
本発明の第二の実施態様において、使用されるエクスポートフォーマットは、幾何学的実体が結合したデータのエクスポートに関してはマーケットでの基準フォーマットである、ＡｕｔｏＤｅｓｋ社のＤＸＦ（Ｄａｔａ  ｅＸｃｈａｎｇｅ  Ｆｏｒｍａｔ）フォーマットである。
【００６６】
ＤＸＦフォーマットは、ライン毎の情報を考慮に入れたテキストフォーマットである。
ラインは、対毎にグループ化されており、対の第一のラインは、次のラインに表されるデータのタイプを示す完全な数値データを内包する。
このように、タイプの数値データが０から９の間に含まれる整数であるとき、次のラインに表れるデータは文字列となり、タイプの数値データが１０から５９の間に含まれる整数であるとき、次のラインに表れるデータは、三次元の倍精度浮動小数点の座標となる。
【００６７】
また、ファイルＤＸＦは、セクションで編成されている。
一つのセクションは、文字列を導入する数字０から構成されるライン、および、キーワードＳＥＣＴＩＯＮで構成されるラインを最初に有し、最後に文字列を導入する数字０から構成されるライン、および、キーワードＥＮＤＳＥＣから構成されているラインを有することで終了する。
【００６８】
ファイルＤＸＦは、一定数のタイプのさまざまなセクション、とくに、幾何学的タイプの実体を描写するセクションＥＮＴＩＴＩＥＳ、ならびに、一定数の別のセクション、例えば、ここでは説明しないがパラメータまたはクラスを定義するセクションを有する。
【００６９】
セクションＥＮＴＩＴＩＥＳは、幾何学的モデルのさまざまな幾何学的実体から構成され、それぞれの実体は、実体のタイプを示す文字列によって導入され、考慮される実体の定義に必要なパラメータが後に続く。
【００７０】
例えば、空間における面の定義は、最初のラインが文字列を導入する数０によって構成され、キーワード３ＤＦＡＣＥによって構成されるラインが続く。
【００７１】
空間における面は、それぞれ三角形または四角形を構成する、三つまたは四つのポイントによって構成されるが、慣習的に、四角形よりもむしろ三角形を示すために、第四のポイントは第三のポイントと同一であると明示されている。
面のそれぞれの四つのポイントは、それらの三つの座標ｘ、ｙおよびｚによって定義されており、ぞれぞれの座標は、先に示されているように、第一のラインが、１０から５９の間に含まれる整数インジケータであり、第二のものが厳密にいうところの座標である、ラインの対によって定義されている。
【００７２】
フォーマットＤＸＦの仕様において、面の第一のポイントの座標ｘ1、ｙ1およびｚ1のためのインジケータは、それぞれ１０、２０および３０であり、面の第二のポイントの座標ｘ2、ｙ2およびｚ2のためのインジケータは、それぞれ１１、２１および３１であり、面の第三のポイントの座標ｘ3、ｙ3およびｚ3のためのインジケータは、それぞれ１２、２２および３２であり、面の第四のポイントの座標ｘ4、ｙ4およびｚ4のためのインジケータは、それぞれ１３、２３および３３である。
【００７３】
いいかえると、１から４まで変動する面のｊについて、ポイントｊの座標ｘの数値のインジケータは９＋ｊであり、ポイントｊの座標ｙの数値のインジケータは１９＋ｊであり、ポイントｊの座標ｚの数値のインジケータは２９＋ｊである。
【００７４】
より厳密には、ここで図５を参照すると、本発明の第二の実施態様によるモジュール１７であるＲａｉｄｅｒ  ３Ｄは、ステップ５１において、先の例において“ＤＸＦ”と名づけられたエクスポートファイルを作成して開き、ついで、ステップ５２に移る。
ステップ５２において、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、ＤＸＦフォーマットに、ファイルのヘッダライン、すなわち、以下の四つのラインを書き込む。
０
ＳＥＣＴＩＯＮ
２
ＥＮＴＩＴＩＥＳ
そして、それは、ファイル“ＤＸＦ”に書き込まれた面の数ｉを０に初期化する。
モジュール１７であるＲａｉｄｅｒ  ３Ｄは、そこで、ステップ５３に移る。
ステップ５３では、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、書き込まれた面の数ｉがシェアされたメモリに保存されている三角形の数未満であるかどうかをテストする。
【００７５】
ステップ５３での答えが肯定である場合、つまり、ファイルＤＸＦに先立って書き込まれた三角形の数ｉが、シェアされたメモリ１６に保存された三角形の数Ｎ三角形未満であれば、モジュール１７であるＲａｉｄｅｒ  ３Ｄはステップ５４に移る。
ステップ５４において、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、ファイルに先立って書き込まれた三角形の数ｉを１ユニット分増分し、ついで、ひとつの面に対するＤＸＦフォーマットのヘッダラインに、以下の二つのラインを書き込む。
０
３ＤＦＡＣＥ
【００７６】
さらに、相変わらずステップ５４において、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、ファイル“ＤＸＦ”に書き込まれた三角形ｉのポイントの数ｊを０に初期化し、ついで、ステップ５５に移る。
ステップ５５において、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、ファイル“ＤＸＦ”に書き込まれた三角形ｉのポイントの数ｊが３未満であるかどうかをテストする。
答えが肯定の場合、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、ステップ５６に移る。
【００７７】
ステップ５６において、モジュールＲａｉｄｅｒ  ３Ｄは、ファイル“ＤＸＦ”に書き込まれた三角形ｉのポイントの数ｊを１ユニット分増加させ、数ｎjをＴｒｉａｎｇｌｅｓ．ｎjに等しいものと計算する。
つまり、ｎは、三角形ｉのポイントｊの数ｎjに等しくなる。
次いで、連続して、ＤＸＦフォーマットに、面のポイントｊについて座標ｘのインジケータを、つまり、値９＋ｊを第一のラインに、そして、座標ｘ自体を第二のラインに、先立って数ｎが計算されたポイントについて書き込む。
【００７８】
同様に、変わらずステップ５６において、そして変わらず数ｎのポイントについて、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、それぞれ、第三のラインにインジケータ１９＋ｊを、第四のラインに座標ｙを、そして、第五のラインにインジケータ２９＋ｊを、そして第六のラインに座標ｚを書き込む。
モジュールＲａｉｄｅｒ  ３Ｄは、そして、ステップ５５に戻る。
【００７９】
ステップ５５および５６の処理は、ステップ５５において答えが否定になるまで、つまり、ファイル“ＤＸＦ”に書き込まれた三角形のポイントの数ｊが３に等しくなるまで繰り返される。
モジュール１７であるＲａｉｄｅｒ  ３Ｄの処理によるこのポイントは、三角形ｉの三つのポイントとして得られる。
【００８０】
ｉが１であるとき、つまり、第一の三角形について、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、ファイル“ＤＸＦ”に、連続して以下のラインを書き込んだことになる。
１０
０．０
２０
１０．０
３０
０．０
これらの行は、三角形１のポイントｎ1＝１に対する。
１１
０．０
２１
１０．０
３１
−１０．０
これらの行は、三角形１のポイントｎ2＝２に対する。
１２
０．０
２２
１０．０
３２
０．０
これらの行は、三角形１のポイントｎ3＝３に対する。
【００８１】
ステップ５５において、ファイル“ＤＸＦ”に書き込まれたポイントの数ｊが３に等しい場合、モジュール１７であるＲａｉｄｅｒ  ３Ｄはステップ５７に移る。
したがって、ステップ５７の初めにおいて、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、上記に示された形で三角形ｉの三つのポイントをファイル“ＤＸＦ”に書き込んだことになる。
しかしながら、先に言及されたように、ＤＸＦ仕様は一つの面につき四つのポイントを必要とする。
そのため、第三のポイントである数ｎ3は繰り返される。
それは、ＤＸＦの慣習により、描写される面が三角形であることを意味する。
【００８２】
そのため、ステップ５７において、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、面の第四のポイントについて座標ｘのインジケータを、つまり１３を、第一のラインに、それから、第二のラインに座標ｘを、ファイルに書き込む。
同様に、それは、第三のラインに座標ｙのインジケータ、つまり２３を、そして、座標ｙを第四のラインに、そして、第五のラインに、座標ｚのインジケータ、つまり３３を、そして座標ｚを第六のラインに、それぞれ書き込む。
【００８３】
ｉが１である場合、つまり、第一の三角形についてであるが、それは、ステップ５７においてモジュール１７であるＲａｉｄｅｒ  ３Ｄがファイル“ＤＸＦ”に以下のラインを書き込むことによって表れる。
１３
０．０
２３
０．０
３３
０．０
それは、現在の面の先のポイントの座標を繰り返すのは、第一の三角形の第三のポイントを繰り返すことを意味するものである。
【００８４】
ステップ５７の後、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、ステップ５３に戻り、第一の三角形について上記に記載されたのと同じ方法を用いて、ステップ５３での答えが否定になるまで、次に続く三角形をエクスポートする。
【００８５】
ステップ５３において答えが肯定であるとき、つまり、先にシェアされたメモリ１６に保存されたすべての三角形がファイル“ＤＸＦ”に書き込まれたとき、モジュール１７であるＲａｉｄｅｒ  ３Ｄはステップ５８に移る。
ステップ５８において、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、セクション終了のライン、つまり二つのラインを書き込む。
０
ＥＮＤＳＥＣ
【００８６】
ついで、ＤＸＦフォーマットにおいてエクスポートファイルの終了を示す二つのラインを書き込む。
０
ＥＯＦ
【００８７】
ついで、相変わらずステップ５８において、モジュール１７であるＲａｉｄｅｒ  ３Ｄは、ファイル“ＤＸＦ”を閉じる。
それは以下のデータテーブル３に示される形をとることになる。
【００８８】
データテーブル３
０
ＳＥＣＴＩＯＮ
２
ＥＮＴＩＴＩＥＳ
０
３ＤＦＡＣＥ
１０
０．０
２０
１０．０
３０
０．０
１１
０．０
２１
１０．０
３１
−１０．０
１２
０．０
２２
０．０
３２
０．０
１３
０．０
２３
０．０
３３
０．０
０
３ＤＦＡＣＥ
１０
０．０
２０
１０．０
３０
−１０．０
１１
０．０
２１
０．０
３１
０．０
１２
０．０
２２
０．０
３２
−１０．０
１３
０．０
２３
０．０
３３
−１０．０
０
ＥＮＤＳＥＣ
０
ＥＯＦ
【００８９】
本発明の第二の実施態様による幾何学的タイプの実体に結び付けられるデータのエクスポート方法はここで終了する。
ここまでで見てきたように、それは、グラフィックアプリケーション１１によって作成され、および／または操作された幾何学的モデル１０を、このアプリケーションのデータフォーマットについてのいかなる知識もなしに、そして、このアプリケーション１１のいかなる変更もなしに、そして、このアプリケーション１１に特有のいかなるプログラムの開発もなしに、エクスポートすることを可能にする。
【００９０】
当然ながら、本発明の方法は、上記に記載されたポイントおよび三角形のグラフィック関数の遮蔽およびエクスポートに限定されるものではない。
とりわけ、先に記載された例において、ポイントの生成に用いられた関数は関数ｇｌＶｅｒｔｅｘ３ｆｖであったが、この技術における専門知識のあるすべての人にとっては、先の記述が、基本的な適応とともに、ｇｌＶｅｒｔｅｘグループのあらゆる命令へ適用されることは明白である。
【００９１】
さらに、先の記述から、本発明の方法が、非限定的にであるが、四角形を定義する関数、点での常態などの面の方向の情報を定義するもの、カラー、表面のテクスチャ、透明性の情報を定義するものなどの、望まれるあらゆるＯｐｅｎＧＬの関数のエクスポートを可能にすることが明らかでなければならない。
【００９２】
また、方法は、記載された例のそれのように単純な幾何学的構造のエクスポートに限定されないが、モデル化されたあらゆる構造が、どんなに複雑であろうと、ポイント、三角形、四角形などの基本要素によってディスプレイされ、したがって、上記に記載された方法を用いてエクスポートされることができることから、本発明の方法が、任意の幾何学的モデルをエクスポートすることを可能にすることは、当業者にとっては明白であろう。
【００９３】
同様に、記述の単純さの明白な理由から、用いられたすべての幾何学的構造が、とくにポイントが別個のものであり、その結果、用いられたテーブルについて重複をなくすまたは最適化する必要が全くないことが仮定された。
実際においては、二重になった要素は、当然、適切な方法によって、それらのＰｏｉｎｔｓおよびＴｒｉａｎｇｌｅｓのデータテーブルへのＤＬＬ１５のプログラムによる記録の際に、または、それらのモジュール１７であるＲａｉｄｅｒ  ３Ｄによる保存ユニット１８へのエクスポートの際に削除される。
【００９４】
また、方法は、グラフィックライブラリＯｐｅｎＧＬを使用する記載された実施態様に限定されず、この技術における専門知識のあるすべての人にとっては、上記に記載された方法が、非限定的な例としてであるが、マイクロソフト社のディスプレイライブラリＤｉｒｅｃｔＸ（登録商標）などの、モデル化または幾何学的なモデル化アプリケーション１０によって使用される可能性のある、その他一切のディスプレイ関数のライブラリ１２にも適用可能であることは明白である。
【００９５】
さらに、本発明の方法は、Ｗｉｎｄｏｗｓ（登録商標）活用システムのシステム目録におけるよりは、むしろ好ましいアプリケーション１１の目録においてのみ本発明の方法を実施するＤＬＬ１５をインストールし、モデル化および／または操作のシステム１に存在するグラフィックアプリケーションの全体というよりは、むしろ好ましいある特殊なアプリケーション１１にのみ実施されるものである。
【００９６】
先に記載されたことより、本発明の方法が、このアプリケーション１１のいかなる変更もなしに、そして、このアプリケーション１１に特有のいかなるプログラムの開発もなしに、そして、後者によって用いられるデータフォーマットについてのいかなる知識もなしに、このアプリケーション１１がそれらの幾何学的モデル１０の表示のために用いるグラフィックの関数および基本要素を遮蔽することのみによって、アプリケーション１１によるモデル化された例１０の幾何学の情報をエクスポートすることを可能にしたことが見受けられる。
【００９７】
保存ユニット１８にエクスポートされる幾何学的実体に結び付けられるデータを保存するために使用されるデータフォーマットが、第一の実施態様において示されたような周知の開放されたフォーマット、または、ＤＸＦフォーマットのようなマーケットのスタンダードフォーマット、さらにまたは、特殊なアプリケーションによって必要とされるその他一切のフォーマットであることを考慮すると、これらのデータを、その他一切の望まれる幾何学的なモデル化または操作システムにインポートすることが非常に容易になる。
【００９８】
本発明の方法は、したがって、非常に広範なさまざまな領域において、とくに、自動車または航空機建設、産業デザイン、建設および／または建築、テレビゲームなどの工業およびサービス業のような、幾何学的実体に結び付けられるデータを使用する工業およびサービス業のすべてにおいて見られるように、異なるシステム同士の間で幾何学的実体に結び付けられるデータが交換されなければならないすべての領域において適用される可能性がある。
【図面の簡単な説明】
【００９９】
【図１】本発明のエクスポート方法を使用しない、スタンダードディスプレイ関数のライブラリによる、幾何学的モデルのコンピュータ画面上での表示の機能図。
【図２】本発明による、幾何学的実体が結合したデータのエクスポート方法を使用した、幾何学的モデルのコンピュータ画面上での表示の機能図。
【図３】本発明による、幾何学的モデルのデータのエクスポート方法のフローチャート。
【図４】本発明の第一の実施態様における、図３の囲み４０の詳細なフローチャート。
【図５】本発明の第二の実施態様における、図３の囲み４０の詳細なフローチャート。
【符号の説明】
【０１００】
１０  幾何学的モデル
１１  グラフィックアプリケーション
１２  グラフィックＡＰＩ
１３  パイロットおよびグラフィックカード
１４  グラフィックスクリーン
１５  データエクスポートのグラフィックＡＰＩ
１６  シェアされたメモリのブロック
１７  Ｒａｉｄｅｒ  ３Ｄ
１８  保存ユニット
【図１】
0004125673.tif 000002
【図２】
0004125673.tif 000003
【図３】
0004125673.tif 000004
【図４】
0004125673.tif 000005
【図５】
0004125673.tif 000006