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