(57)【要約】幾何学的システムおよびグラフィックスシステムの機能性を集約し、幾何学的システムとグラフィックスシステムとの間の一貫性を高め、幾何学的システムおよびグラフィックスシステムを結びつけて統合層を介して１つのアプリケーションにすることを含む、地球科学モデルをインタラクティブに構築、編集、表現および操作するための方法、コンピュータシステムまたはコンピュータプログラムが提供される。幾何学的形状または位相が変化し、ユーザによって目視可能と指定されたグラフィックスオブジェクトだけを更新することができ、性能を高めることができる状態機械もまた提供される。メモリ要求を減少させ、さらに性能を高めるためのシーングラフ構築技法もまた提供される。特に幾何学的形状または位相の変化を伝達し、オブジェクトを集約して、後にどのグラフィックオブジェクトがその変化によって影響を受け、また、どのグラフィックオブジェクトが更新されるべきかを決定する、マテリアルプロパティフレームワークが提供される。
2004537817.tif 000002
【特許請求の範囲】
【請求項１】
第１の表面を含むモデルをインタラクティブに編集する方法であって、前記方法は、プロセッサ、データ保存システム、少なくとも１つの入力装置および少なくとも１つの出力装置を備えたコンピュータにおいて実行され、前記モデルは、コンピュータ読み取り可能な媒体に保存され、前記方法は、
データ保存システムに保存されたデータベースから第１の表面特徴のデータをローディングし、
第１の表面特徴の集合体特徴を作成し、
前記集合体特徴から第１のグラフィックスオブジェクトを作成し、
第１のグラフィックスオブジェクトをアプリケーションシーングラフに加え、
集合体特徴の幾何学的オブジェクトを作成し、
モデルに第１の表面特徴を編集し、
モデルのグラフィックスを選択的に更新し；および
第１の表面特徴の第１のグラフィックスオブジェクトをアプリケーションシーングラフから除去することを含む方法。
【請求項２】
前記編集を行う工程は、
インタフェースを提供すること、
前記インタフェースで操作するＩＧＭを提供すること、
前記ＩＧＭで操作するＧＱＩを提供すること、
インタフェースを通じて、第２の表面特徴において行う操作を選択すること、前記インタフェースは、ＩＧＭに選択を知らせるために構成され、配列されている、
ＧＱＩによって操作を呼び出すこと、
操作の実行中、ＧＱＩからＩＧＭへのコールバックを少なくとも１回行うこと、および
モデルのグラフィックスオブジェクトを更新し、出力装置をリフレッシュすることを含む、請求項１に記載の方法。
【請求項３】
前記編集を行う工程は、不規則な空間分割を介して達成される、請求項１に記載の方法。
【請求項４】
前記グラフィックスオブジェクトを更新する工程は、グラフィックスオブジェクトを作成することを含む、請求項１に記載の方法。
【請求項５】
前記コールバックを行う工程が集合体特徴の状態に変化を生じさせる、請求項２に記載の方法。
【請求項６】
前記集合体特徴の状態の変化が一貫性のある有限状態機械にある、請求項５に記載の方法。
【請求項７】
前記一貫性のある有限状態機械が幾何学とグラフィックスとの間の一貫性を管理する、請求項６に記載の方法。
【請求項８】
前記コールバックを行う工程は、集合体特徴のグラフィックスオブジェクトを無効にすることを含む、請求項５に記載の方法。
【請求項９】
前記コールバックを行う工程は、集合体特徴の幾何学を有効にすることを含む、請求項５に記載の方法。
【請求項１０】
前記コールバックを行う工程は、１セットのオブジェクトを提供することを含み、前記１セットのオブジェクトは、
第1の幾何学的モデラー特徴オブジェクトと、
幾何学的モデラー特徴オブジェクトに含まれる変更された幾何学的オブジェクトと、
変更された幾何学的オブジェクトと効果をもたらすように関連した第1のメタ-プロパティ属性オブジェクトと、
第1のメタ-プロパティ属性オブジェクトと関連する第1のメタ-プロパティオブジェクトとを含み、
ポイント設定保存プロパティオブジェクトと、
ポイント設定保存プロパティポリシーオブジェクトと、
セルバックポインタプロパティオブジェクトと、
集合体バックポインタプロパティポリシーオブジェクトと、
前記セルバックポインタオブジェクトと関連する幾何学的セルオブジェクトと、
前記幾何学的セルオブジェクトと関連する集合体セルオブジェクトと、
前記集合体セルオブジェクトと関連する表示セルグラフィックスオブジェクトとを含む、前記第1のメタ-プロパティオブジェクトと、
前記幾何学的モデラー特徴オブジェクトと関連した、第2のメタ-プロパティ属性オブジェクトと、および
第2のメタ-プロパティ属性オブジェクトと関連した、
第2のポイント設定保存プロパティオブジェクトと、
第2のポイント設定保存プロパティポリシーオブジェクトと、
特徴バックポインタプロパティオブジェクトと、
第2の集合体バックポインタプロパティポリシーオブジェクトと、
特徴バックポインタプロパティオブジェクトと関連した幾何学的特徴オブジェクトと、
幾何学的特徴オブジェクトと関連した集合体特徴オブジェクトと、
集合体特徴オブジェクトと関連した表示特徴グラフィックスオブジェクトとを含む、第２のメタ-プロパティオブジェクトとを含む、請求項５に記載の方法。
【請求項１１】
前記コールバックを行う工程は、コールバックがボリュームオブジェクトに対するものであれば、ボリューム特徴に対して編集コールバックを行い、そうでない場合は、表面特徴に対して編集コールバックを行う、請求項１０に記載の方法。
【請求項１２】
前記更新工程は、幾何学的に変更されたセルのみのグラフィックスを更新することを含む、請求項１に記載の方法。
【請求項１３】
前記更新工程は、位相的に変更された特徴のみのグラフィックスを更新することを含む、請求項１に記載の方法。
【請求項１４】
前記モデルからの少なくとも１つの集合体特徴のためのグラフィックスを作製する工程は、
モデル中の全ての関連する表面特徴を取得すること；
関連する表面特徴のそれぞれについて
前記表面特徴がグラフィックスオブジェクトを有している場合、前記表面特徴についてグラフィックスオブジェクトを更新し、そうでない場合は、表面特徴についてグラフィックスオブジェクトを作成し、および
表面特徴のグラフィックスオブジェクトを表面シーングラフルートノードに追加することを含む、請求項１に記載の方法。
【請求項１５】
前記グラフィックスオブジェクトを作成する工程は、
前記表面特徴の全ての二次元的なセルの集合体オブジェクトを得ること；
前記セルのそれぞれの集合体オブジェクトを促して、少なくとも１つの有効なグラフィックスオブジェクトを取得させ、およびグラフィックスオブジェクトをサブシーングラフに追加させること；および
前記表面特徴のグラフィックスオブジェクトを有効にすることを含む、請求項１４に記載の方法。
【請求項１６】
セルのための有効なグラフィックスオブジェクトを取得する前記工程は、
セルのためのグラフィックスオブジェクトが存在しない場合、セルのためグラフィックスオブジェクトを作成し、前記グラフィックスを有効にすること、および、
セルのためのグラフィックスオブジェクトが存在するが有効でない場合、セルのためのグラフィックスオブジェクトを更新して、前記グラフィックスを有効にすることを含む、請求項１５に記載の方法。
【請求項１７】
前記グラフィックスオブジェクトを更新する工程は、目視可能な有限状態機械を参照することを含む、請求項１に記載の方法。
【請求項１８】
目視可能な有限状態機械は、グラフィックスオブジェクトの更新、およびグラフィックスオブジェクトの目視可能性の更新を管理する、請求項１７に記載の方法。
【請求項１９】
目視可能な有限状態機械は、目視可能と指定されたオブジェクトのグラフィックスだけを更新することができる、請求項１８に記載の方法。
【請求項２０】
前記更新工程は、
グラフィックスオブジェクトを目視可能と指定すること、
グラフィックスオブジェクトの有効性を確認すること,
グラフィックスオブジェクトが有効である場合、グラフィックスオブジェクトをシーングラフに追加し、そうでない場合は、グラフィックスオブジェクトを更新し、その後グラフィックスオブジェクトをシーングラフに追加することを含む、請求項１８に記載の方法。
【請求項２１】
前記モデルから、少なくとも1つのボリュームセルのためのグラフィックスを作成する工程は、
少なくとも1つの関連する活性なボリュームセル(active volume)をモデルの中に取得すること、
各ボリュームセルの全ての二次元的なセルのグラフィックスオブジェクトが作成されたことを確認すること、
前記二次元的なセルのそれぞれについて、二次元的なセル集合体が存在しない場合、集合体を取得し、新たな集合体を作成すること、
各二次元的なセルが有効なグラフィックスを持つことを確認すること、
少なくとも１つのボリュームセルのそれぞれについてグラフィックスオブジェクトを作成すること、
各ボリュームセルに対して、ボリュームセルの各２次元的なセルのグラフィックスコンテンツを、前記ボリュームセルのグラフィックスオブジェクトのサブシーングラフに追加すること；および
各ボリュームセルのグラフィックスオブジェクトをシーングラフルートノードに追加することを含む、請求項１に記載の方法。
【請求項２２】
二次元的なセルのグラフィックスコンテンツのインスタンシエーションは、子としての二次元的なセルを有する表面特徴のグラフィックスオブジェクトを含む少なくとも１つのシーングラフ、および、１つのボリュームセルもしくは二次元的なセルをそれぞれの境界の一部として有する２つのボリュームセルのいずれかのグラフィックスオブジェクトを含む少なくとも１つのシーングラフによって共有される、請求項２１に記載の方法。
【請求項２３】
前記更新工程は、前記シーングラフの各特徴の状態について、
その特徴にとってグラフィックスが有効であるか、または、幾何学が無効である場合、その特徴のグラフィックスオブジェクトを更新しないこと、
幾何学が有効であり、グラフィックスが無効であれば、その特徴のグラフィックスオブジェクトを更新することを確認することを含む、請求項６に記載の方法。
【請求項２４】
前記更新工程は、前記シーングラフの各特徴の状態について、
そのセルにとってグラフィックスが有効であるか、または、幾何学が無効である場合、そのセルのグラフィックスオブジェクトを更新しないこと；
幾何学が有効であり、グラフィックスが無効であれば、そのセルのグラフィックスオブジェクトを更新することを含む、請求項６に記載の方法。
【請求項２５】
ボリューム特徴の編集コールバックを行う前記工程は、
幾何学的モデラーインタフェースによるメタ-プロパティ分割コールバック分類方法を登録すること、前記幾何学的モデラーインタフェースは、ボリューム分割事象が生じたときに呼び出されるように構成され、配置されている、
第１のメタ-プロパティ属性を、ボリューム特徴によって限定される少なくとも1つのボリュームオブジェクトにアタッチすること、
第１のボリュームオブジェクトと、第１のボリュームオブジェクトに対する変更によって影響を受ける第２のボリュームと、第１のメタ-プロパティ属性とを指定するコールバックを幾何学的モデラーインタフェースから受け取ること、
第１のメタ-プロパティ属性からのポインタ値を取得し、第１のメタ-プロパティオブジェクトを突き止めるためにポインタ値を逆参照すること、
第１のメタ-プロパティ属性を用いて、第１のメタ-プロパティオブジェクト中の分割コールバックを呼び出すことを含み、前記第１のボリュームオブジェクトおよび第２のボリュームオブジェクトは、
第１のポイント設定保存プロパティインスタンスを取得すること、
第１のポイント設定保存ポリシーインスタンスを前記プロパティインスタンスから取得すること、
ポイント設定保存ポリシーインスタンスへの第１の分割コールバックをポイント設定保存プロパティインスタンスによって開始することを含み、前記第１のボリュームオブジェクトおよび第２のボリュームオブジェクトは、
第１のボリュームオブジェクトの少なくとも１つの含有特徴を取得すること、
前記含有特徴と第２のボリュームオブジェクトとを用いて、幾何学的モデラーインタフェースにおいて特徴追加子更新（feature add child update）を開始することを含み、
セルバックポインタプロパティインスタンスを取得すること、および
集合体バックポインタプロパティポリシーインスタンスを、セルバックポインタプロパティインスタンスから取得すること、およびセルバックポインタプロパティインスタンスを用いて集合体バックポインタプロパティインスタンスに対する第２の分割コールバックを開始すること、それは、
セルバックポインタプロパティから、セルバックポインタプロパティインスタンスを取得すること、および
ボリューム幾何学的セルオブジェクトに対するセル分割コールを開始すること、を含み、それは、
ボリューム幾何学セルオブジェクトのボリュームセル集合体パトロンに対するコールを開始して、第１のボリュームのグラフィックスを無効にすることを含む、
請求項１１記載の方法。
【請求項２６】
前記ボリューム特徴のための特徴追加子コールバックを行う工程は、
幾何学的モデラーインタフェースによるメタ-プロパティ追加子コールバック分類方法を登録して、特徴追加子事象が生じたときに呼び出されるようにすること、
第２のメタ-プロパティ属性インスタンスをボリューム特徴にアタッチすること、
ボリューム特徴と、ボリュームオブジェクトと、第２のメタ-プロパティ属性とを指定する追加子コールバックを前記幾何学的モデラーインタフェースから受け取ること、
第２のメタ-プロパティ属性からポインタ値を取得し、第２のメタ-プロパティオブジェクトの位置を突き止めるためにポインタ値を逆参照すること、
第２のメタ-プロパティオブジェクト中に前記追加子コールバックを呼び出すことを含み、それは、
第２のポイント設定保存プロパティインスタンスを取得すること、
第２のポイント設定保存プロパティポリシーインスタンスを、前記第２のポイント設定保存プロパティインスタンスから取得すること、及び
ボリューム特徴及びボリューム幾何学的オブジェクトによって、第２のポイント設定ポリシーオブジェクトの追加子コールバック方法を開始することを含み、それは、
ポイント設定保存プロパティをボリュームセルにアタッチすること、
特徴バックポインタプロパティインスタンスを取得すること、
第２の集合体バックポインタプロパティポリシーインスタンスを、特徴バックポインタプロパティインスタンスから取得すること、および
前記ボリューム特徴、前記ボリューム幾何学的オブジェクトおよび前記ボリューム特徴バックポインタプロパティをもつ、第２の集合体バックポインタプロパティポリシーインスタンスの追加子コールバック方法を開始することを含み、それは、
特徴バックポインタプロパティインスタンスによって確認されたボリューム特徴幾何学的オブジェクトに対する追加子通知コールを開始することを含み、それは、
ボリューム特徴オブジェクトのボリューム特徴集合体パトロンに対するコールを開始してボリューム特徴オブジェクトの幾何学を有効にすること、およびボリューム特徴オブジェクトのボリューム特徴集合体パトロンに対するコールを開始してボリューム特徴オブジェクトのグラフィックスを無効にすることすることを含む、請求項２５に記載の方法。
【請求項２７】
前記表面特徴のための編集コールバックを行う工程は、
表面分割事象が生じたときに呼び出される幾何学的モデラーインタフェースによってメタ-プロパティ分割コールバック分類方法を登録すること、
第１のメタ-プロパティ属性を、表面特徴によって限定される少なくとも１つの表面にアタッチすること、
第１の表面オブジェクトと、第１の表面に対する変化による影響を受ける第２の表面と、第１のメタ-プロパティ属性とを指定するコールバックを幾何学的モデラーインタフェースから受け取ること、
第１のメタ-プロパティ属性からのポインタ値を取得し、第１のメタ-プロパティオブジェクトの位置を突き止めるために前記ポインタ値を逆参照すること、
第１の表面オブジェクト、前記第２の表面オブジェクトおよび第１のメタ-プロパティ属性を持つ第１のメタ-プロパティオブジェクトに分割コールバック呼び出すことを含み、それは、
第１のポイント設定保存プロパティインスタンスを取得すること、
第１のポイント設定保存プロパティポリシーインスタンスを、プロパティインスタンスから取得すること、及び
ポイント設定保存ポリシーインスタンスに対する第１の分割コールバックをポイント設定保存プロパティインスタンスによって開始することを含み、第１の表面オブジェクトおよび第２の表面オブジェクトは、
第１の表面オブジェクトの少なくとも１つの含有特徴を取得すること、および
前記含有特徴と第２の表面オブジェクトによって幾何学的モデラーインタフェース上で特徴追加子更新を開始することを含み、
セルバックポインタプロパティインスタンスを取得すること、
集合体のバックポインタプロパティポリシーインスタンスを、バックポインタプロパティインスタンスから取得すること、および
セルバックポインタプロパティインスタンスを持つ集合体バックポインタプロパティポリシーインスタンスに対して、第２の分割コールバックを開始することを含み、それは、
セルバックポインタプロパティインスタンスから、表面幾何学的形状を取得すること、及び、
表面幾何学的セルオブジェクトに対するセル分割コールを開始することを含み、それは、
表面幾何学的セルオブジェクトの表面セル集合体パトロンに対してコールを開始し、第１の表面のグラフィックスを無効にすることを含む、請求項１１に記載の方法。
【請求項２８】
特徴追加コールバックを行う工程は、
幾何学的モデラーインタフェースによるメタ-プロパティ追加子コールバック分類方法を登録して、特徴追加子事象が生じたとき、呼び出されるようにすること、
第2のメタ-プロパティ属性インスタンスを表面特徴にアタッチすること、
表面特徴と、表面オブジェクトと、第２のメタ-プロパティ属性とを指定する追加子コールバックを幾何学的モデラーインタフェースから受け取ること、
第2のメタ-プロパティ属性からポインタ値を取得し、第２のメタ-プロパティオブジェクトの位置を突き止めるためにポインタ値を逆参照すること、
第2のメタ-プロパティオブジェクト中に追加子コールバックを呼び出すことを含み、それは、
第2のポイント設定保存プロパティインスタンスを取得すること、
第2のポイント設定保存プロパティポリシーインスタンスを、第2のポイント設定保存プロパティインスタンスから取得すること、および
表面特徴および表面幾何学的オブジェクトを持つ第2のポイント設定ポリシーオブジェクトの追加子コールバック方法を開始することを含み、それは、
ポイント設定保存プロパティを表面セルにアタッチすること、
特徴バックポインタプロパティインスタンスを取得すること、
第2の集合体バックポインタプロパティポリシーインスタンスを、特徴バックポインタプロパティインスタンスから取得すること、および
表面特徴、表面幾何学的オブジェクトおよび表面特徴バックポインタプロパティをもつ、第2の集合体バックポインタプロパティポリシーインスタンスの追加子コールバック方法を開始することを含み、それは、
表面特徴幾何学オブジェクトに対して追加子通知を開始して特徴バックポインタプロパティインスタンスによって確認れた表面特徴幾何学的オブジェクトを開始することを含み、それは、
表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴の幾何学を有効にすること、および
表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴の幾何学を無効にすることを含む、請求項２７に記載の方法。
【請求項２９】
前記コールバックを行う工程がセルの状態に変化を生じさせる、請求項２に記載の方法。
【請求項３０】
前記セルの状態の変化が一貫性のある有限状態機械にある、請求項２９に記載の方法。
【請求項３１】
前記第２の表面特徴は、モデルに含まれていない、請求項２に記載の方法。
【請求項３２】
前記第２の表面特徴がモデルに含まれている、請求項２に記載の方法。
【請求項３３】
前記出力装置がディスプレイである、請求項１に記載の方法。
【請求項３４】
ボリューム特徴のための編集コールバックを行う前記工程は、
幾何学的モデラーインタフェースによるメタ-プロパティ併合コールバック分類方法を登録して、ボリュームの併合事象が生じたとき、呼び出されるようにすること、
第１のメタ-プロパティ属性を、前記ボリューム特徴によって限定されている少なくとも１つのボリュームオブジェクトにアタッチすること、
第１のボリュームオブジェクトと、第２のボリュームオブジェクトと、第１および第２のボリュームオブジェクトに以前に結合しており、およびモデルから除去されている表面オブジェクトと、メタ-プロパティ属性とを指定するコールバックを幾何学的モデラーインタフェースから受け取ること、
幾何学モデル属性からポインタ値を取得し、第１のメタ-プロパティオブジェクトの位置を突き止めるためにポインタ値を逆参照すること、および
第１のメタ-プロパティオブジェクト中に併合コールバックを呼び出すことを含み、それは、
第１のポイント設定保存プロパティインスタンスを取得すること、
第１のポイント設定保存ポリシーインスタンスを、プロパティインスタンスから取得すること、および
ポイント設定保存プロパティインスタンスによるポイント設定保存ポリシーインスタンスに対する第１の併合コールバックを開始することを含み、前記第１のボリュームオブジェクト、第２のボリュームオブジェクト、および表面オブジェクトは、
第１のボリュームオブジェクトの少なくとも１つの含有特徴を取得し、および
含有特徴および第２のボリュームオブジェクトを持つ、幾何学的モデラーインタフェース上で、特徴除去子更新を開始すること、
セルバックポインタプロパティインスタンスを取得すること、
集合体バックポインタプロパティポリシーインスタンスをセルバックポインタプロパティインスタンスから取得すること、および
セルバックポインタプロパティインスタンス、第１のボリュームオブジェクト、第２のボリュームオブジェクト、及び表面オブジェクトを備えた集合体バックポインタプロパティポリシーに対する第２の併合コールバックを開始すること、を含み、前記表面オブジェクトは、
ボリューム幾何学的セルオブジェクトを、前記セルバックポインタプロパティインスタンスから取得し、および、
ボリューム幾何学的セルオブジェクトに対するセル併合コールを開始することを含み、それは、
ボリューム幾何学的セルオブジェクトのボリュームセル集合体パトロンに対するコールを開始し、第１のボリュームのグラフィックスを無効にすることを含む、請求項１１に記載の方法。
【請求項３５】
特徴除去子コールバックを行う前記工程は、
特徴除去子事象が生じたときに呼び出される幾何学的モデラーインタフェースによって、メタ-プロパティ除去子コールバック分類方法を登録すること、
第２のメタ-プロパティ属性インスタンスをボリューム特徴にアタッチすること、
ボリューム特徴と、ボリュームオブジェクトと、第２のメタ-プロパティ属性とを指定する除去子コールバックを幾何学的モデラーインタフェースから受け取ること、
第２のメタ-プロパティ属性からポインタ値を取得し、第２のメタ-プロパティオブジェクトを突き止めるためにポインタ値を逆参照すること、および
第２のメタ-プロパティオブジェクト中に除去子コールバックを呼び出すことを含み、それは、
第２のポイント設定保存プロパティインスタンスを取得すること、
第２のポイント設定保存プロパティインスタンスから、第２のポイント設定保存プロパティポリシーインスタンスを取得すること、
ボリューム特徴及びボリューム幾何学的オブジェクトによって、第２のポイント設定ポリシーオブジェクトの除去子コールバック方法を開始することを含み、それは、
ボリュームセルからポイント設定保存プロパティを除去すること、
特徴バックポインタプロパティインスタンスを取得すること、
第２の集合体バックポインタプロパティポリシーインスタンスを、特徴バックポインタプロパティインスタンスから取得すること、および
ボリューム特徴、ボリューム幾何学的オブジェクト、およびボリューム特徴バックポインタプロパティを用いて第２の集合体バックポインタプロパティポリシーインスタンスの除去子コールバック方法を開始することを含み、それは、
特徴バックポインタプロパティインスタンスによって確認されたボリューム特徴幾何学的オブジェクトに対する除去子通知コールを開始することを含み、それは、
ボリューム特徴オブジェクトのボリューム特徴集合体パトロンへのコールを開始し、ボリューム特徴オブジェクトの幾何学を有効にすること、および
ボリューム特徴オブジェクトのボリューム特徴集合体パトロンへのコールを開始し、ボリューム特徴オブジェクトのグラフィックスを無効にすることを含む、請求項３４に記載の方法。
【請求項３６】
前記表面特徴のための編集コールバックを行う前記工程は、
表面併合事象が生じたときに呼び出される幾何学的モデラーインタフェースによるメタ-プロパティ併合コールバック分類方法を登録すること、
表面特徴によって限定される少なくとも１つの表面オブジェクトに第１のメタ-プロパティ属性をアタッチすること、
第１の表面オブジェクトと、第２の表面オブジェクトと、以前に第１および第２の表面に結合し、モデルから除去されている曲線オブジェクトと、メタルプロパティ属性とを指定するコールバックを、幾何学的モデラーインタフェースから受け取ること、
幾何学的モデル属性からポインタ値を取得すること、およびメタ-プロパティオブジェクトを突き止めるために、ポインタ値を逆参照すること、および
第１のメタ-プロパティオブジェクトにおいて併合コールバックを呼び出すことを含み、それは、
第１のポイント設定保存プロパティインスタンスを取得すること、および
ポイント設定保存プロパティインスタンス、第１の表面オブジェクト、第２の表面オブジェクトおよび曲線オブジェクトをもつポイント設定保存ポリシーインスタンスに対する第１の併合コールバックを開始することを含み、それは、
第１の表面オブジェクトのための少なくとも１つの含有特徴を取得すること、および
含有特徴および第２の表面オブジェクトをもつ、幾何学的モデラーインタフェース上で特徴除去子更新を開始すること、
セルバックポインタプロパティインスタンスを取得すること、
前記セルバックポインタプロパティインスタンスから、集合体バックポインタプロパティポリシーインスタンスを取得すること、および
セルバックポインタプロパティインスタンス、第１の表面オブジェクト、第２の表面オブジェクト、および曲線オブジェクトを持つ集合体バックポインタプロパティポリシーインスタンスに対する第２の併合コールバックを開始することを含み、それは、
セルバックポインタプロパティインスタンスから表面幾何学的セルオブジェクトを取得すること、および
前記表面幾何学的セルオブジェクトに対するセル併合コールを開始することを含み、それは、
前記表面幾何学的セルオブジェクトの表面セル集合体パトロンに対するコールを開始し、第１の表面のグラフィックスを無効にすることを含む、請求項１１に記載の方法。
【請求項３７】
前記特徴除去コールバックを行う工程は、
特徴除去子事象が生じたときに呼び出される幾何学的モデラーインタフェースによって、メタ-プロパティ除去子コールバック分類方法を登録すること、
第２のメタ-プロパティ属性インスタンスを表面特徴にアタッチすること、
表面特徴と、表面オブジェクトと、第２のメタ-プロパティ属性とを指定する前記除去子コールバックを、幾何学的モデラーインタフェースから受け取ること、
第２のメタ-プロパティ属性からポインタ値を取得し、第２のメタ-プロパティオブジェクトを突き止めるために、ポインタ値を逆参照すること、および
第２のメタ-プロパティ属性、表面特徴および表面幾何学的オブジェクトを持つ第２のメタ-プロパティオブジェクトに除去子コールバックを呼び出すことを含み、それは、
第２のポイント設定保存プロパティインスタンスを取得すること、
第２のポイント設定保存プロパティインスタンスから第２のポイント設定保存プロパティポリシーインスタンスを取得すること、および
表面特徴および表面幾何学的オブジェクトを持つ第２のポイント設定ポリシーオブジェクトの除去子コールバック方法を開始することを含み、それは、
表面セルからポイント設定保存プロパティを除去すること、
特徴バックポインタプロパティインスタンスを取得すること、
第２の集合体バックポインタプロパティポリシーインスタンスを、特徴バックポインタプロパティインスタンスから取得すること、および
表面特徴、表面幾何学的オブジェクトおよび表面特徴バックポインタプロパティを持つ、第２の集合体バックポインタプロパティポリシーインスタンスの除去子コールバック方法を開始することを含み、それは、
特徴バックポインタプロパティインスタンスによって確認された表面特徴幾何学的オブジェクトに対して除去子通知コールを開始することを含み、それは、
表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴オブジェクトの幾何学を有効にすることを含み、および
表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴オブジェクトのグラフィックスを無効にすることを含む、請求項３６に記載の方法。
【請求項３８】
第１の表面を有するモデルをインタラクティブに編集するためのコンピュータシステムであって、前記コンピュータシステムは更に、プロセッサ、データ保存システム、少なくとも１つの入力装置および少なくとも１つの出力装置を備えており、前記コンピュータシステムはさらに、オブジェクト構造を含むように構築および配置されたランダムアクセスメモリを備えており、前記オブジェクト構造は、
幾何学的クエリーインタフェースオブジェクトを含み、該幾何学的クエリーインタフェースオブジェクトはGQIマテリアルプロパティフレームワークオブジェクトを持ち、該GQIマテリアルプロパティフレームオブジェクトは、
cc_RefObjオブジェクト、
前記cc_RefObjオブジェクトとIsA関係を有するgmMPオブジェクト、
前記cc_RefObjオブジェクトとIsA関係を有するgmMPPolicyオブジェクト、及び
前記gmMPオブジェクトとIsA関係を有するgmMPConstantオブジェクトを含み、
前記オブジェクト構造は、
一般的なモデル構築オブジェクトから導き出されるインタラクティブ幾何学的モデリングオブジェクトを含み、該インタラクティブ幾何学的モデリングオブジェクトは、前記GQIマテリアルプロパティフレームワークオブジェクトおよびIGMマテリアルプロパティフレームワークオブジェクトと関係を有し、該IGMマテリアルプロパティフレームワークオブジェクトは、
前記gmMPオブジェクトとIsA関係を有するgmMPPolyXYZオブジェクト、
前記gmMPオブジェクトとIsA関係を有するgmMPZ オブジェクト、
前記gmMPZオブジェクトとIsA関係を有するgmMPTime オブジェクト、
前記gmMPZ オブジェクトとIsA関係を有するgmMPDepth オブジェクト、
前記gmMPオブジェクトとIsA関係を有するgmMP2DPoly オブジェクト、
前記gmMP オブジェクトとIsA関係を有するgmMP2DGrid オブジェクト、
前記gmMPオブジェクトとIsA関係を有するgmMP3dGrid オブジェクト、
前記gmMPConstant オブジェクトとIsA関係を有するgmMPNameオブジェクト、
前記gmMPConstant オブジェクトとIsA関係を有するmbCellGMReferenceオブジェクト、
前記gmMPConstant オブジェクトとIsA関係を有するmbFtrGMReferenceオブジェクト、
前記gmMPConstant オブジェクトとIsA関係を有するvspQualityPropオブジェクト、
前記gmMPConstant オブジェクトとIsA関係を有するvspTransverseIsotroppy オブジェクト、および
前記gmMPConstant オブジェクトとIsA関係を有するfbFtrParametersオブジェクトを含み、
ユーザが、データベースに保存されているモデルを編集することができるようにするために、データがこのオブジェクト構造によって処理される、コンピュータシステム。
【請求項３９】
ＩＧＭマテリアルプロパティフレームワークオブジェクトは、
gmGradientPropオブジェクト、
前記gmGradPropオブジェクトとIsA関係を有するvspDensPropオブジェクト、
前記gmGradPropオブジェクトとIsA関係を有するvspVelPPropオブジェクト、
前記gmGradPropオブジェクトとIsA関係を有するvspVelSPropオブジェクト、および
前記gmGradProp オブジェクトとIsA関係を有するgmResistivityPropオブジェクトとをさらに含む、請求項３８に記載のコンピュータシステム。
【請求項４０】
IGM マテリアル プロパティ フレームワーク オブジェクトは、前記gmMPName オブジェクトと構成関係を有するgmMPNamePropertyPolicy オブジェクトをさらに含む、請求項３８に記載のコンピュータシステム。
【請求項４１】
前記IGM マテリアル プロパティ フレームワーク オブジェクトは、前記mbCellGMReferenceオブジェクトと構成関係を有し、また、前記mbFtrGMReference オブジェクトと構成関係を有するgmMPIGMPropertyPolicy オブジェクトをさらに含む、請求項３８に記載のコンピュータシステム。
【請求項４２】
前記GQI マテリアル プロパティ フレームワーク オブジェクトは、
gmutil_statusオブジェクトと、
mv_vtオブジェクトと、
gm_mp_atomsオブジェクトとをさらに含む、請求項３８に記載のコンピュータシステム。
【請求項４３】
前記GQI マテリアルプロパティフレームワークオブジェクトは、
前記gmMPConstantオブジェクトとIsA 関係を有するgmSysRulesオブジェクト、
前記gmMPConstantオブジェクトとIsA 関係を有するgmSysPSPProperty オブジェクト、
前記gmMPConstant オブジェクトとIsA 関係を有するgmUtilFtrBnd オブジェクト、
前記gmMPPolicy オブジェクトとIsA 関係を有するgmMPGQIPolicy オブジェクト、
前記gmMPPolicy オブジェクトとIsA 関係を有し、gmSysPSPPropertyオブジェクトと構成関係を有するgmSysPSPolicy オブジェクト、
前記gmMPPolicy オブジェクトとIsA 関係を有し、gmSysRules オブジェクトと構成関係を有するgmSysRulesPolicy オブジェクト、および
前記gmMPPolicy オブジェクトとIsA 関係を有し、 gmMPConstant オブジェクトと構成関係を有するgmMPVolumePropertyPolicy オブジェクトを含む、請求項３８に記載のコンピュータシステム。
【請求項４４】
前記GQIマテリアルプロパティフレームワークオブジェクトは、前記gmMPGQIPolicyオブジェクトとIsA関係を有するgmUtilFtrBndPolicyオブジェクトをさらに含む、請求項４３に記載のコンピュータシステム。
【請求項４５】
前記GQIマテリアルプロパティフレームワークオブジェクトは、前記gmMPPolicy オブジェクトと構成関係を有するgmMPTopologyTraversalStatesオブジェクトをさらに含む、請求項４３に記載のコンピュータシステム。
【請求項４６】
gmMPIGMPropertyPolicyオブジェクトは、前記gmUtilFtrBndPolicyオブジェクトとIsA関係を有する、請求項４４に記載のコンピュータシステム。
【請求項４７】
gmMPNamePropertyPolicyオブジェクトは、前記gmMPVolumePropertyPolicyオブジェクトとIsA関係を有する、請求項４３に記載のコンピュータシステム。
【請求項４８】
gmMPVolumePropertyPolicy オブジェクトは、前記gmGradientProp オブジェクトと第１の構成関係を有し、前記gmMPZ オブジェクトと第２の構成関係を有する、請求項３９に記載のコンピュータシステム。
【請求項４９】
前記gmMP オブジェクトと関係を有するaqi_Parameterオブジェクト、
前記gmMPPolicy オブジェクトと関係を有するgmMPTopologyTraversalStateオブジェクト、
前記gmMP オブジェクトと関係を有する、第１の gqi_MetaPropertyオブジェクト、
前記gmMP オブジェクトと関係を有する、第２のgqi_MetaPropertyオブジェクト、
前記第１のgqi_MetaPropertyオブジェクトと関係を有する、gqi_AttachmentSiteオブジェクト、および
前記第２のgqi_MetaPropertyオブジェクトと関係を有し、gqi_AttachmentSiteオブジェクトとIsA関係を有する、gqi_Coreオブジェクトをさらに含む、請求項３８に記載のコンピュータシステム。
【請求項５０】
ag_BaseClassオブジェクトと、
前記ag_BaseClassオブジェクトとIsA 関係を有するag_Geometryオブジェクトと、
前記ag_GeometryオブジェクトとhasA 関係を有するgm_Geometry オブジェクトであって、
前記gm_Geometry オブジェクトは幾何学的オブジェクトと関係を有している、ag_Geometryオブジェクトと、
ag_Featureオブジェクトと関係を有するoi_Featureオブジェクトであって、前記ag_Featureオブジェクトは、前記ag_Geometry オブジェクトとIsA関係を有し、前記ag_Featureオブジェクトは、さらに前記gm_Featureオブジェクトと関係を有している、 oi_Feature オブジェクトと、
ag-Cell オブジェクトと関係を有するoi_Cell オブジェクトであって、前記ag_Cellオブジェクトは、前記ag_Cell オブジェクトとIsA 関係を有しており、前記ag_Cellオブジェクトはさらに前記gm_Cell オブジェクトと関係を有する、oi_Cell オブジェクトと、
前記gm_Featureオブジェクトと関係を有するX_Feature オブジェクトであって、前記X_Feature オブジェクトは、 xAttrFtr オブジェクトとIsA関係を有しており、前記 xAttrFtrオブジェクトは、gqi_FeatureオブジェクトとIsA 関係を有しており、前記 gqi_Featureオブジェクトは、X_FeatureオブジェクトとIsA 関係を有している、gm_Featureオブジェクトと、
前記X_FeatureオブジェクトとIsA関係を有するXCell オブジェクトであって、前記X_Cell オブジェクトは、第１のxAttrMP オブジェクトとIsA関係を有しており、第１のxAttrMP オブジェクトは、第１の gqi_MetaPropertyオブジェクトとIsA関係を有しており、第１の gqi_MetaPropertyオブジェクトは、FtrRef オブジェクトと関連しており、FtrRef オブジェクトは、前記gm_Featureオブジェクトと少なくとも１つの関連を持っている、X_Cell オブジェクトとを含み、そして
前記X_Featureオブジェクトは、さらに第２のxAttrMP オブジェクトとIsA関係を有しており、第２のxAttrMP オブジェクトは、第２の gqi_MetaPropertyオブジェクトとIsA関係を有しており、第２の gqi_MetaPropertyオブジェクトは、CellRefオブジェクトと関連を持っており、CellRefオブジェクトは、gm_Cellオブジェクトと少なくとも１つの関連をもっている、請求項４９に記載のコンピュータシステム。
【請求項５１】
ランダムアクセスメモリであって、前記ランダムアクセスメモリは、オブジェクト構造を備え、それは、
幾何学的クエリーインタフェース オブジェクトを含み、該幾何学的クエリーインタフェース オブジェクトは、GQIマテリアルプロパティフレームワークオブジェクトを備え、該GQIマテリアルプロパティフレームワークオブジェクトは、
cc_RefObj オブジェクトと、
cc_RefObj オブジェクトとIsA関係を有するgmMP オブジェクトと、
cc_RefObj オブジェクトとIsA関係を有するgmMPPolicy オブジェクトと、
gmMP オブジェクトとIsA関係を有するgmMPConstant オブジェクトとを含み、
インタラクティブ幾何学的モデリングオブジェクトは、共通のモデルビルダーオブジェクトから導き出され、前記インタラクティブ幾何学的モデリングオブジェクトは、GQIマテリアルプロパティフレームワークオブジェクトおよびIGM マテリアル プロパティ フレームワーク オブジェクトと関係を有し、前記IGM マテリアル プロパティ フレームワーク オブジェクトは、
gmMP オブジェクトとIsA 関係を有するgmMPPolyXYZ オブジェクトと、
gmMP オブジェクトとIsA 関係を有するgmMPZ オブジェクト と、
gmMPZ オブジェクトとIsA 関係を有するgmMPTimeオブジェクトと、
gmMPZ オブジェクトとIsA 関係を有するgmMPDepthオブジェクトと、
gmMP オブジェクトとIsA 関係を有するgmMP2DPoly オブジェクトと、
gmMP オブジェクトとIsA 関係を有するgmMP2DGrid オブジェクトと、
gmMP オブジェクトとIsA 関係を有するgmMP3dGrid オブジェクトと、
gmMPConstant オブジェクトとIsA 関係を有するgmMPName オブジェクトと、
gmMPConstant オブジェクトとIsA 関係を有するmbCellGMReference オブジェクトと、
gmMPConstant オブジェクトとIsA 関係を有するmbFtrGMReferenceオブジェクトと、
gmMPConstant オブジェクトとIsA 関係を有するvspQualityProp オブジェクトと、
gmMPConstant オブジェクトとIsA 関係を有するvspTransverseIsotroppyと、
gmMPConstant オブジェクトとIsA 関係を有するfbFtrParameters オブジェクトとを含み、
ユーザがデータベースに保存されているモデルを編集することができるようにするために、データがオブジェクト構造によって処理されている、ランダムアクセスメモリ。
【請求項５２】
前記IGMマテリアルプロパティフレームワークオブジェクトはさらに、
gmGradientPropオブジェクトと、
前記gmGradPropオブジェクトとIsA関係を有するvspDensPropオブジェクトと、
前記gmGradPropオブジェクト とIsA関係を有するvspVelPPropオブジェクトと、
前記gmGradPropオブジェクトとIsA関係を有するvspVelSPropオブジェクトと、
前記gmGradPropオブジェクトとIsA関係を有するgmResistivityPropオブジェクトとを含む、請求項５１に記載のランダムアクセスメモリ。
【請求項５３】
前記IGM マテリアルプロパティフレームワークオブジェクトは、前記gmMPNameオブジェクトと構成関係にあるgmMPNamePropaetyPolicyオブジェクトをさらに含む、請求項５１に記載のランダムアクセスメモリ。
【請求項５４】
前記IGM マテリアルプロパティフレームワーク オブジェクトは、前記mbCellGMReference オブジェクトと構成関係を有し、前記mbFtrGMReference オブジェクトと構成関係を有するgmMPIGMPropertyPolicy オブジェクトをさらに含む、請求項５１に記載のランダムアクセスメモリ。
【請求項５５】
前記GQIマテリアルプロパティフレームワークオブジェクトは、
gmutil_statusオブジェクトと、
mv_vtオブジェクトと、
gm_mp_atomsオブジェクトとをさらに含む、請求項５１に記載のランダムアクセスメモリ。
【請求項５６】
前記GQIマテリアルプロパティフレームワークオブジェクトはさらに、
前記gmMPConstantオブジェクトとIsA関係を有するgmSysRulesオブジェクトと、
前記gmMPConstantオブジェクトとIsA関係を有するgmSysPSPプロパティ オブジェクトと、
前記gmMPConstantオブジェクトとIsA関係を有するgmUtilFtrBnd オブジェクトと、
前記gmMPPolicy オブジェクトとIsA関係を有するgmMPGQIPolicy オブジェクトと、
前記gmMPPolicy オブジェクトとIsA関係を有し、前記gmSysPSPProperty オブジェクトと構成関係を有するgmSysPSPolicy オブジェクト と、
前記gmMPPolicy オブジェクトとIsA関係を有し、前記gmSysRules オブジェクトと構成関係を有するgmSysRulesPolicy オブジェクトと、
前記gmMPPolicy オブジェクトとIsA関係を有し、前記gmMPConstantオブジェクトと構成関係を有する gmMPVolumePropertyPolicy オブジェクトとを含む、請求項５１に記載のランダムアクセスメモリ。
【請求項５７】
前記GQIマテリアルプロパティフレームワークオブジェクトはさらに、前記gmMPGQIPolicy オブジェクトとIsA関係を有するgmUtilFtrBndPolicy オブジェクトを含む、請求項５６に記載のランダムアクセスメモリ。
【請求項５８】
前記GQI マテリアル プロパティ フレームワーク オブジェクトはさらに、前記gmMPPolicy オブジェクトと構成関係を有する gmMPTopologyTraversalStates オブジェクトを含む、請求項５６に記載のランダムアクセスメモリ。
【請求項５９】
前記agmMPIGMPropertyPolicy オブジェクトは、前記 gmUtilFtrBndPolicyオブジェクトとIsA関係を有する、請求項５７に記載のランダムアクセスメモリ。
【請求項６０】
gmMPNamePropertyPolicy オブジェクトは、前記gmMPVolumePropertyPolicy オブジェクトとIsA 関係を有する、請求項５６に記載のランダムアクセスメモリ。
【請求項６１】
gmMPVolumePropertyPolicyオブジェクトは、 前記gmGradientProp オブジェクトと第１の構成関係を有し、gmMPZ オブジェクトと第２の構成関係を有する、請求項５２に記載のランダムアクセスメモリ。
【請求項６２】
ランダムアクセスメモリはさらに、
gmMP オブジェクトと関係を有するaqi_Parameterオブジェクトと、
前記gmMPPolicy オブジェクトと関係を有するgmMPTopologyTraversalStateオブジェクトと、
前記gmMP オブジェクトと関係を有する第１のgqi_MetaPropertyオブジェクトと、
前記gmMP オブジェクトと関係を有する第２のgqi_MetaPropertyオブジェクトと、
前記第１のgqi_MetaPropertyオブジェクトと関係を有する gqi_AttachmentSiteオブジェクトと、
前記第２のgqi_MetaPropertyオブジェクトと関係を有し、前記gqi_AttachmentSite オブジェクトとIsA関係を有するgqi_Core オブジェクトとを含む、請求項５１に記載のランダムアクセスメモリ。
【請求項６３】
前記ランダムアクセスメモリはさらに、
ag_BaseClassオブジェクトと、
前記ag_BaseClass オブジェクトとIsA関係を有するgm_Geometryオブジェクトと、
前記ag_GeometryオブジェクトとhasA 関係を有するgm_Geometryオブジェクトであって、前記gm_Geometryオブジェクトは、幾何学的オブジェクトと関係を有する、gm_Geometryオブジェクト、
ag_Featureオブジェクトと関係を有するoi_Featureオブジェクトであって、前記ag_Featureオブジェクトは、前記ag_GeometryオブジェクトとIsA 関係を有し、前記ag_Featureオブジェクトは、さらに 前記gm_Featureオブジェクトと関係を有する、oi_Featureオブジェクトと、
ag_Cell オブジェクトと関係を有するoi_Cellオブジェクトであって、前記 ag_Cell オブジェクトは、前記 ag_Cell オブジェクトとIsA関係を有し、前記 ag_Cell オブジェクトはさらにag_Cell オブジェクト と関係を有する、oi_Cellオブジェクトと、
前記gm_Featureオブジェクトと関係を有するX_Featureオブジェクトであって、前記X_Featureオブジェクトは、xAttrFtr オブジェクトとIsA関係を有し、前記xAttrFtr オブジェクトは、gqi_FeatureオブジェクトとIsA関係を有し、前記gqi_Featureオブジェクトは、前記X_FeatureオブジェクトとIsA関係を有する、X_Featureオブジェクトと、
X_Cell オブジェクトであって、前記X_Cell オブジェクトは、X_FeatureオブジェクトとIsA関係を有し、前記X_Cell オブジェクトは、第１のxAttrMP オブジェクトとIsA関係を有し、前記第１のxAttrMP オブジェクトは、第１のgqi_MetaPropertyオブジェクトとIsA関係を有し、前記第１のgqi_MetaPropertyオブジェクトは、FtrRef オブジェクトと関連しており、前記FtrRefオブジェクトは、gm_Featureオブジェクトと少なくとも１つの関連を有している、X_Cell オブジェクトと、
第２のxAttrMP オブジェクトとさらにIsA 関係を有する前記X_Featureオブジェクトであって、前記第２のxAttrMP オブジェクトは、gqi_MetaPropertyオブジェクトとIsA 関係を有し、前記第２のgqi_MetaPropertyオブジェクトは、CellRefオブジェクトと関連をもち、前記CellRefオブジェクトは、前記gm_Cell オブジェクトと少なくとも１つの関連を有する、X_Featureオブジェクトとを含む、請求項６２に記載のランダムアクセスメモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、２００１年７月３１日に出願された米国仮特許出願第60/308,915号を改変したものである。その優先権を米国特許法第120条に基づき主張する。
【０００２】
技術分野
本発明は、一般に、コンピュータグラフィックスイメージングおよび幾何学的モデリングに関する。より詳細には、本発明は、インタラクティブに地球科学のモデルを構築、編集、表現(rendering)および操作することに関する。
【背景技術】
【０００３】
地質学者、地球物理学者および石油技師は、炭化水素および、程度は低いがその他の鉱物を探索および製造する計画を立てるために、地殻のコンピュータ化モデルをはじめとしたモデルを使用する。炭化水素は、ますます希少となっているので、コンピュータ化モデルの正確さは、炭化水素の位置を突き止め、製造するためのコスト、およびガソリンや加熱オイルのような炭化水素産物に関連するコストを制限するのにますます重要となっている。
【０００４】
コンピュータ化モデルに保存された地球物理学的および地質学的データの解釈は、モデルに包含される情報が識別され編集され得るように、そのモデルが表示されることができる性能に依存する。
【０００５】
インタラクティブ幾何学的モデリングライブラリ（IGM）（Luらの米国特許第6,191, 787号参照）は、幾何学的エンジンとグラフィックスエンジンとを統合している。この統合は、インタラクティブ特徴ベースの３Ｄ地球科学幾何学的モデルの構築、表現および編集をサポートする高レベルのインタフェースを提供する。
【０００６】
シーングラフは、グラフィックスエンジンによるシーンを表す。効率的なシーングラフの構築および保守は、インタラクティブシステムの性能に直接的な影響を及ぼす。本特許出願は、シーングラフを構築および保守するためのいくつかの新たな技法を記載する。それは、ＩＧＭの性能を大いに高め、新たな機能をＩＧＭに追加するものである。
【０００７】
ＩＧＭが使用する幾何学的エンジンは、幾何学的クエリーインタフェース（ＧＱＩ）である（Assaらの米国特許法第6,128, 577号参照）。ＧＱＩは、"Shapes"（XOX、Inc）と呼ばれる幾何学的カーネルの上に配置される層である。このグラフィックスエンジンは、オープンインベンター(Open Inventor)と呼ばれる。ＩＧＭは、この２つのエンジンを統合してインタラクティブ特徴ベースの幾何学的モデリングを可能とする。
【０００８】
ＧＱＩは、ブール演算を用いた不規則な空間分割（Irregular Space Partitioning）を介して、幾何学的モデルを構築する。得られるモデルは、境界表現（ｂ-ｒｅｐ）モデルである。ＧＱＩは、地球科学アプリケーションのための特徴ベースのモデリングを提供する。そこでは、特徴が、モデル中の幾何学的および位相的エレメントのグループに関心を持つエンドユーザにとって、関心のあるエンティティである。
【０００９】
地球科学のモデルを構成するためのシーングラフを構築および保守するためにいくつかのファクターが考慮されなければならない。その方法および生成される地球科学の幾何学的モデルは、伝統的なＣＡＤ産業におけるものとは異なる。本発明に関する他のいくつかの相違点を以下に述べる。これらの相違は、表現するシーングラフを構築および保守する方法に影響を及ぼすものである。
【００１０】
第１に、モデルは、不規則な空間分割によって構成されており、そこでは、入力特徴がばらばらに分割されるが、一方、ＣＡＤ産業は典型的に、入力特徴がブール演算を介して組み合わされるConstructive Solid Geometryを用いる。第２に、地球科学の幾何学的モデルにおけるマテリアルプロパティは、典型的に空間変化（space changing）であり、特徴レベルにおいてアタッチされている。一方、ＣＡＤ産業では、モデルの各エレメントが典型的に一定のマテリアルプロパティを持っている。第３に、地球科学モデルにおいてはクラックは正常であるが、一方ＣＡＤモデルにおいてはクラックは欠陥とされるかもしれない。
【００１１】
ＣＡＤ産業のユーザのニーズと同様、地球科学のユーザは、入力特徴のアイデンティティに対してインタラクティブであり、それを維持することができること、新たな特徴に割り付けられ、それに対してインタラクティブであることを求めている。
【００１２】
地球科学アプリケーションには、以下の２つのタイプのビューが典型的に要求されている。第１のタイプは、モデル中に表面セルまたはモデルの特徴を表現する表面ビューである。第２のタイプは、モデル中にボリュームセルまたは特徴を表現するボリュームビューである。表面セルは、独自のアイデンティティを持っている。それはまた、２つのボリュームが共有する境界セルとしての機能も果たす。ユーザはまた、この２つのタイプの組み合わせも求めている。その結果、同じ幾何学的モデルのための図形による表示が１つより多く存在することになる。
【００１３】
最後に、地球科学アプリケーションに関連するソフトウェアは、典型的にかなりのコンピュータリソースを消費する、容易に動かされない強力なワークステーションを必要とすることもしばしばある。しかしながら、フィールドロケーションにおいては、上記の能力を持つことは望ましいであろう。したがって、当該技術においては、それがラップトップコンピュータのような普通の移動可能コンピュータ装置にインストールできるほどに、地球科学のソフトウェアの効率を上昇させることが必要とされている。
【発明の開示】
【課題を解決するための手段】
【００１４】
本発明によれば、新たなシーングラフ構築方法により、要求されるメモリを減少させることによって、ならびにグラフィックスオブジェクト(見えるように設定されているか、もしくは見えないように設定されているか、および有効もしくは無効のいずれにかにかかわらず)とそれらの対応する幾何学的オブジェクトとの間の一貫性（consistency）を処理する有限状態機械を提供することによって、従来技術に関連する不利な点および問題点を解決し、それによってその幾何学的形状もしくは位相が変化し、ユーザによって見えるように設定されたグラフィックスオブジェクトのみを選択的もしくは部分的に更新すること、さらに性能を高めることを可能としている。
【００１５】
本発明は、第１の表面を含むモデルをインタラクティブに編集する方法を含む。この方法は、プロセッサ、保存システムおよび少なくとも１つの入力および少なくとも１つの出力装置を備えたプログラム可能なコンピュータ上で実行される。該モデルは、プログラム可能なコンピュータによって読み取り可能な媒体に保存されることが好ましい。または、テープ、ハードディスク、ＣＤ−ＲＯＭなどの他の媒体に保存されることもできる。保存システムを用いて操作するデータベース及びプロセッサは、１以上のシーングラフにおいて見ることができる種々のオブジェクトのモデルを保存する。
【００１６】
本発明の最も簡単な態様において、データベース内の第１の表面特徴を表すデータをランダムアクセスメモリまたはコンピュータシステムのシステムメモリーにローディングする。集合体特徴を第１の表面特徴のために作成する。集合体特徴を作成した後、第１のグラフィックスオブジェクトを集合体特徴から作成する。次に、グラフィックスオブジェクトをアプリケーションシーングラフに追加する。その後、集合体特徴のための幾何学的オブジェクトを作成し、次に第１の表面特徴をモデルの中に編集する。表面特徴を編集した後、その幾何学的オブジェクトが変化し、かつユーザが見ることができるグラフィックスオブジェクトだけが更新されず、したがって時間とリソースを節約することになるように、モデルのグラフィックスの選択的更新を行う。選択的更新は、本発明にとって重要な特徴であり、オブジェクトが見えるかどうかおよび／または変化したかどうかに関わらず、全てのオブジェクトを更新していた従来技術のシステムと本発明とを区別するものである。本発明は、ユーザに表示されるモデル中のグラフィックスを更新するだけである。例えば、該当するグラフィックスオブジェクトがユーザに見えないものとして設定された場合、それらはすぐには更新されない。更新ステップが一端完了すれば、第１のグラフィックスオブジェクトはアプリケーションシーングラフから除去される。
【００１７】
本発明はまた、インタフェースおよびインタフェースで操作可能なＩＧＭ、ならびにＩＧＭで操作可能なＧＱＩを提供する。インタフェースは、第２の表面特徴において実行する操作を選択するために用られ、また、インタフェースは、ＩＧＭにユーザが行った選択を知らせるために開発されたものでもある。一旦それが生じると、ＩＧＭは、ＧＱＩでの操作を呼び出すことが可能である。次にその後、ＧＱＩから、少なくとも１回のコールバックを行い、モデルのグラフィックスオブジェクトの更新を行って出力装置をリフレッシュさせることができるように、操作を実行中のＩＧＭに通知を行う。
【００１８】
編集が不規則な空間分割によって達成されること、およびグラフィックスオブジェクトの更新がグラフィックスオブジェクトの作成を含むことが好ましい。または、コールバックを行うことで集合体特徴の状態の変化をもたらす場合、集合体特徴の状態変化は、本発明の一貫性のある有限状態機械に記録される。この一貫性のある有限状態機械は、幾何学とグラフィックスの間の一貫性を管理する。この一貫性のある有限状態機械は、ユーザに提示されるグラフィックスの選択的（部分的）更新を促進する。
【００１９】
本発明の方法はまた、集合体特徴のグラフィックスオブジェクトを無効にすることを含むコールバック方法を含む。このコールバック方法はまた、無効なグラフィックスと有効な幾何学とが区別され得るように、集合体特徴の幾何学の有効化を行う。
【００２０】
本発明のコールバック方法は、コールバックを容易にする１セットのオブジェクト、すなわち、第１の幾何学的モデラー特徴オブジェクトを提供することを含む。幾何学的モデルもしくは特徴オブジェクトに含まれる変更された幾何学的オブジェクトもまた本方法に含まれる。変更された幾何学的オブジェクトに関連する第１のメタ-プロパティ属性オブジェクトも存在する。さらに、メタ-プロパティ属性オブジェクトに関連する第１のメタ-プロパティオブジェクトが提供される。第１のメタ-プロパティ オブジェクトは、それに関連する多数のプロパティ、主に、ポイント設定保存プロパティ、ポイント設定保存プロパティポリシーオブジェクト、セルバックポインタプロパティオブジェクト、集合体バックポインタプロパティポリシーオブジェクト、バックセルポインタオブジェクトに関連する幾何学的セルオブジェクト、幾何学的セルオブジェクトに関連する集合体セルオブジェクト、および集合体セルオブジェクトに関連する表示セルグラフィックスオブジェクトを有している。さらに、幾何学的モデラー特徴オブジェクトに関連する第２のメタ-プロパティ オブジェクトが、第２のメタ-プロパティ属性オブジェクトに関連するメタ-プロパティ オブジェクト同様含まれる。第２のメタ-プロパティ オブジェクトは、第１のメタ-プロパティ オブジェクトと同様の多くのオブジェクトおよび特徴を有している。すなわち、第２のメタ-プロパティ オブジェクトは、ポイント設定保存プロパティオブジェクト、ポイント設定保存プロパティポリシーオブジェクト、特徴バックポインタプロパティオブジェクト、第２の集合体バックポインタ プロパティポリシーオブジェクト、特徴バックポインタプロパティオブジェクトに関連する幾何学的特徴オブジェクト、幾何学的特徴オブジェクトに関連する集合体特徴オブジェクト、および集合体特徴オブジェクトに関連する表示特徴オブジェクトを有している。
【００２１】
コールバックは一連のサブステップにおいて行われる。例えば、コールバックがボリュームオブジェクトに対して行われれば、編集はボリューム特徴に対して行われる。そうでない場合、編集は表面特徴に対して行われる。グラフィックスを更新する場合、更新は、幾何学的に変更されたセルだけに対して行われることが好ましい。あるいは、グラフィックスにおける更新は、位相的に変化した特徴だけを含むことができる。しかしながら、本発明の別の態様は、位相的もしくは幾何学的に変更されたそれらの特徴のグラフィックスを更新することを含む。最後に、更新は位相的もしくは幾何学的に変更された特徴に対して行うことができる。
【００２２】
モデルの集合体特徴のためのグラフィックスの形成は、連続したサブステップにおいて行うことができる。通常、モデルから関連する表面特徴を取得し、関連する表面のそれぞれについて、表面特徴がグラフィックスオブジェクトであれば、グラフィックスオブジェクトが更新される。そうでない場合、グラフィックスオブジェクトがまず形成され、その後グラフィックスオブジェクトが表面シーングラフルートノードに追加される。
【００２３】
本発明の操作
本発明は、プロセッサ、データ保存システム、少なくとも１つの入力装置および少なくとも１つの出力装置を含み、および限定されないが、コンピュータモニター、保存装置、またはプリントアウトを含むコンピュータ上で行われる、インタラクティブにモデルを編集するための方法として説明することができる。このモデルは、コンピュータ読み取り可能な媒体に保存されることが好ましい。モデル自体は少なくとも第１の表面を有する。とはいえ、典型的には多くの表面がモデリングされている。
【００２４】
この方法は、第１の表面特徴をデータ保存システムに保存されているデータベースからローディングすることによって始まる。次に、集合体特徴が第１の表面特徴として形成される。これによって、第１のグラフィックスオブジェクトを集合体特徴から形成することができる。その後、第１のグラフィックオブジェクトをアプリケーションシーングラフに追加する。次に、集合体特徴から幾何学的オブジェクトが形成される。次にモデルの第１の表面特徴を望ましいように編集する。編集が完了すれば（例えば、ユーザが編集モード以外を選択する、または、必要な時間の経過後）、モデルのためのグラフィックスが選択的に更新される。この選択的な更新によって、種々の装置は、すべての更新および変更を再計算したり、表示たりしないでよくなる。実際、ユーザが経験することに影響を及ぼす更新のみが更新される。最後に、第１の表面特徴の第１のグラフィックスオブジェクトがアプリケーションシーングラフから除去される。
【００２５】
編集および更新
編集プロセス自身は、いくつかの工程からなる。まず、インタフェースを提供しなければならない。次に、インタフェースで操作するIGM を提供しなければならない。幾何学的モデリングを可能とするIGMで操作するGQIが提供される。これによってユーザは、インタフェースを介して、第２の表面特徴について行われる操作を選択することができる。このインタフェースは、ＩＧＭにユーザの選択を通知するように設計される。この操作自身は、GQIで呼び出される。 編集プロセス中、操作を実行する間、GQIからIGMへのコールバックを少なくとも１回行う必要がある。このコールバックは、モデルのグラフィックスオブジェクトを更新するために用いられる。編集は、不規則な空間分割によって達成することができるが、他の編集技法を本発明に用いることもできる。編集が終了すると、典型的にはグラフィックスオブジェクトを作成することによってグラフィックスの更新が始まる。本発明は、更新する工程が、幾何学的および／または位相的に変更されたグラフィックスのみを更新することを含むという、特別な特徴をもっている。この更新工程はまた、可視の有限状態機械を参照することを含む。可視の有限状態機械は、グラフィックスオブジェクトの更新操作およびグラフィックスオブジェクトの可視性の更新操作を管理することを助ける。可視性の有限状態機械の使用は、（ユーザに）見えるように設計されたグラフィックスオブジェクトのみを更新することができる。可視の有限状態機械は、見えるようにグラフィックスオブジェクトを設計するため、そしてまたグラフィックスオブジェクトの有効性について確認するために用いることができる。グラフィックスオブジェクトが有効である場合、グラフィックスオブジェクトは、シーングラフに追加される。そうでない場合、グラフィックスオブジェクトは、更新することができ、シーングラフに追加することができる。
更新プロセスは、いくつかの工程を含むことができる。例えば、更新は、シーングラフにおけるそれぞれの特徴の状態を確認することを含んでもよい。通常、この特徴のグラフィックスが有効であるか、または特徴の幾何学が無効であれば、この特徴のグラフィックスオブジェクトは更新されない。しかしながら、特徴の幾何学が有効であり、かつ特徴のグラフィックスが無効であれば、特徴のグラフィックスオブジェクトは更新される。
更新の別の形態は、シーングラフにおけるそれぞれのセルの状態を確認することを含むことができる。このようにすれば、セルのグラフィックスが有効であるか、またはセルの幾何学が無効であれば、セルのグラフィックス オブジェクトは更新されない。セルの幾何学的が有効であり、かつセルのグラフィックスが無効であれば、セルのグラフィックスオブジェクトは更新される。
【００２６】
本発明の方法はまた、第２の表面特徴がモデルに含まれていない状況を包含することもできるが、もちろん第２の特徴をモデルに含むことができる。
グラフィックスの作成
本発明の方法はまた、集合体特徴のような種々のエンティティのグラフィックスの作成を含む。典型的には、このプロセスは、モデルの全ての関連する表面特徴を取得することを含む。関連する表面特徴のそれぞれについて、表面特徴がグラフィックスオブジェクトを持つ場合、グラフィックスオブジェクトが更新される。そうでない場合は、表面特徴のグラフィックスオブジェクトが作成される。その後、表面特徴のグラフィックスオブジェクトが表面シーングラフルートノードに追加される。
先の段落で概略を示した工程に加えて、他の工程も任意に達成することができる。例えば、表面特徴のための全ての二次元的なセルの集合体オブジェクトを取得してもよい。次に、セルのそれぞれの集合体オブジェクトを促して、少なくとも１つの有効なグラフィックスオブジェクトを取得させ、グラフィックスオブジェクトを表面特徴のサブシーングラフに追加させることができる。これが一旦完了すれば、表面特徴のグラフィックスオブジェクトを有効にすることができる。
直前で概略を示した方法では、更に多くのステップを行ってもよい。例えば、セルの有効なグラフィックスオブジェクトを取得する工程は、セルのグラフィックスオブジェクトが存在しないかどうかを判定するための確認を含むことができる。グラフィックスオブジェクトが存在しない場合、セルのグラフィックスオブジェクトが作成され、有効とされる。セルのグラフィックスオブジェクトが存在するが有効でない場合、セルのグラフィックスオブジェクトは更新され、有効とされる。
あるいは、グラフィックスを作成するための本発明の方法は、モデルから少なくとも１つのボリュームセルを作成することも含むこともできる。この代替的な方法は、モデルにおいて、少なくとも１つの関連する活性のボリュームセルを取得することを含む。取得後、各ボリュームセルの二次元的なセルの全てのグラフィックスオブジェクトが作成されたことを確認することができる。次に、二次元的なセルのそれぞれに対して、集合体を取得することができる。二次元的なセル集合体が存在しない場合、新たな集合体を作成することができる。その後、それぞれの二次元的なセルについて、それが有効なグラフィックスを持つかどうかを確認する。その後、各ボリュームセルのグラフィックスオブジェクトを作成することができる。次に、各ボリュームセルについて、ボリュームセルのそれぞれの二次元的なセルのグラフィックス コンテンツを、好ましくはカラーマテリアルを含まない、ボリュームセルのグラフィックスオブジェクトのサブシーングラフに追加する。最後に、各ボリュームセルのそれぞれについて、ボリュームシーングラフルートノードにグラフィックスオブジェクトを追加する。さらに、二次元的なセルを図表的に表した、好ましくはカラーマテリアルを含まない、グラフィックスコンテンツのインスタンテーションは、二次元的なセルを子とした表面特徴のグラフィックスオブジェクトを含む少なくとも１つのシーングラフ、ならびに、１つのボリュームセル、または二次元的なセルをそれらの境界として持つ２つボリュームセルのグラフィックスオブジェクトを含む少なくとも１つのシーングラフによって共有される。
【００２７】
コールバック
本発明では、オブジェクト フレームワーク内に広範にコールバックを使用する。例えば、コールバックは、集合体特徴の変化をもたらす。集合体特徴は、一貫性のある有限状態機械であって、その結果、コールバックが効率的に容易化されることが好ましい。一貫性のある有限状態機械は、幾何学とグラフィックスの間の一貫性を管理することもまた好ましい。コールバックは、集合体特徴のグラフィックスオブジェクトを無効にし、集合体特徴の幾何学を有効にするために有用である。例えば、コールバックがボリュームオブジェクトのためのものである場合、ボリューム特徴のために特別のコールバックが使用される。そうでない場合、表面特徴の編集コールバックが行われる。
本発明のコールバックは、種々の構成および環境において現われる。例えば、ボリューム特徴の編集コールバックは、幾何学的モデラーインタフェースを用いたメタ-プロパティ分割コールバック分類方法を登録することを含む。幾何学的モデラーインタフェースは、ボリューム分割事象が生じたときに呼び出されることが意図されている。その後、第１のメタ-プロパティ属性が、ボリューム特徴によって具備される少なくとも１つのボリュームオブジェクトにアタッチされる。次に、コールバックは、第１のボリュームオブジェクトと、第１のボリュームオブジェクトに対する変更によって影響を受ける第２のボリュームと、第１のメタ-プロパティ属性とを指定する幾何学的モデラーインタフェースによって受け取られる。次にポインタ値が第１のメタ-プロパティ属性から取得され、ポインタ値をメタ-プロパティオブジェクトの位置を突き止めるために逆参照することが可能となる。分割コールバックは、第１のメタ-プロパティ属性、第１のボリュームオブジェクトおよび第２のボリュームオブジェクトを持つ第１のメタ-プロパティ オブジェクトにおいて呼び出される。この最後のステップ自身は、第１のポイント設定プロパティインスタンスおよびプロパティインスタンスからの第１のポイント設定保存ポリシーインスタンスを取得すること、並びに、ポイント設定保存プロパティインスタンス、第１のボリュームオブジェクトおよび第２のボリュームオブジェクトをもつポイント設定保存プロパティポリシーインスタンスに対する第１の分割コールバックを開始することを含む。この最後のサブステップ自身は、第１のボリュームオブジェクトの、少なくとも１つの含有特徴を取得すること、および含有特徴および第２のボリュームオブジェクトを持つ幾何学的モデラーインタフェースにおいて特徴追加子更新を開始することを含む。次に、集合体バックポインタプロパティポリシーインスタンスがセルバックポインタプロパティインスタンスから得られ、その結果、集合体バックポインタプロパティインスタンスによって第２の分割コールバックが開始されるようにセルバックポインタプロパティを取得する。後のコールバック自身は、セルバックポインタプロパティインスタンスからボリューム幾何学的セルオブジェクトを取得すること、およびボリューム幾何学的セルオブジェクトに対するセル分割コールを開始することを含む。後のサブステップは、ボリューム幾何学的セルオブジェクトのボリュームセル集合体パトロンに対するコールを開始し、第１のボリュームのグラフィックスを無効にすることを含むことができる。
ボリューム特徴の特徴追加子コールバックを行うことは、特徴追加子事象が生じたときに呼び出される幾何学的モデラーインタフェースでのメタ-プロパティ追加子コールバック分類方法を登録することを含む。これは、第２のメタ-プロパティ属性インスタンスをボリューム特徴にアタッチすること；および幾何学的モデラーインタフェースから、ボリューム特徴と、ボリュームオブジェクトと、第２のメタ-プロパティ属性とを指定する追加子コールバックを受け取ることを含むことができる。第２のメタ-プロパティ属性からポインタ値が取得され、第2のメタ-プロパティオブジェクトの位置を突き止めるためにポインタ値が逆参照される。追加子コールバックは、第２のメタ-プロパティオブジェクトにおいて呼び出される。後のステップは、第2のポイント設定保存プロパティインスタンスを取得すること；第2のポイント設定保存プロパティインスタンスから第2のポイント設定保存プロパティポリシーインスタンスを取得すること；およびボリューム特徴およびボリューム幾何学的オブジェクトを持つ第２のポイント設定ポリシーオブジェクトの追加子コールバック方法を開始することを含む。後のサブステップ自身は、ポイント設定保存プロパティをボリュームセルにアタッチすること；特徴バックポインタプロパティインスタンスを取得すること；および特徴バックポインタプロパティインスタンスの特徴から第２の集合体バック ポインタ プロパティ ポリシー インスタンスを取得すること；およびボリューム特徴、ボリューム幾何学的オブジェクトおよびボリューム特徴バックポインタプロパティを持つ、第２の集合体バックポインタ プロパティインスタンスの追加子コールバック方法を開始することを含む。後のサブステップ自身は、特徴バックポインタプロパティインスタンスによって確認される、ボリューム特徴幾何学的オブジェクトに対する追加子通知方法を開始することを含む。後のサブステップ自身は、ボリューム特徴オブジェクトの幾何学を有効にするために、ボリューム特徴オブジェクトのボリューム特徴集合体パトロンに対するコールを開始すること；およびボリューム特徴オブジェクトのグラフィックスを無効にするために、ボリューム 特徴オブジェクトのボリューム特徴集合体パトロンに対するコールを開始することを含む。
本発明の更に別の方法は、表面特徴の編集コールバックを行うことを含む。この方法のこの局面は、表面分割事象が生じたときに呼び出されるべき幾何学的モデラーインタフェースで、メタ-プロパティ分割コールバック分類方法を登録すること；表面特徴によって具備されるメタ-プロパティ属性を少なくとも１つの表面オブジェクトにアタッチすること；幾何学的モデラーインタフェースから、第１の表面オブジェクトと、第１の表面に対する変更による影響を受ける第２の表面と、第１のメタ-プロパティ属性とを指定するコールバックを受け取ること；メタ-プロパティ属性からポインタ値を取得し、およびメタ-プロパティ オブジェクトの位置を突き止めるためにポインタ値を逆参照すること；第１のメタ-プロパティオブジェクトにおいて、第１の表面オブジェクト、第２の表面オブジェクト及び第１のメタ-プロパティ属性自身を持つ分割コールバックを呼び出すことを含む。後のステップは、ポイント設定保存プロパティインスタンスを取得すること；プロパティインスタンスからポイント設定保存ポリシーインスタンスを取得すること;およびポイント設定保存プロパティインスタンス、第１の表面オブジェクト、および第２の表面オブジェクトを持つ、ポイント設定保存ポリシーインスタンスに対する第１の分割コールバックを開始することを含む。後のサブステップ自身は、第１の表面オブジェクトのための少なくとも１つの含有特徴を取得すること；および含有特徴および第２の表面オブジェクトを持つ、幾何学的 モデラー インタフェース上で特徴追加更新を開始すること；セルバックポインタプロパティインスタンスを取得すること；セル バック ポインタ プロパティインスタンスから集合体バック ポインタ プロパティ ポリシー インスタンスを取得すること；およびセルバックポインタプロパティインスタンスを持つ第２の分割コールバックを集合体バックポインタプロパティポリシーインスタンスに対して開始することを含む。後のサブステップは、セル バック ポインタ プロパティインスタンスから表面幾何学的セルオブジェクトを取得すること；および表面幾何学的セルオブジェクトに対するセル分割コールを開始することを含む。後のサブステップは、表面幾何学的セル オブジェクトの表面セル集合体パトロンへのコールを開始し、第１の表面のグラフィックスを無効にすることを含む。
特徴追加コールバックを行う工程（先行するパラグラフに記載）は、幾何学的モデラー インタフェースでメタ-プロパティ追加子コールバック分類方法を登録して、特徴追加子事象が生じたときに呼び出されるようにすること；第２のメタ-プロパティ属性インスタンスを表面特徴にアタッチすること；幾何学的モデラーインタフェースから、表面特徴と、表面オブジェクトと、第2のメタ-プロパティ属性とを指定する追加子コールバックを受け取ること；第2のメタ-プロパティ属性からポインタ値を取得し、第２のメタ-プロパティ オブジェクトの位置を突き止めるためにポインタ値を逆参照すること；および第２のメタ-プロパティオブジェクトにおいて追加子コールバックを呼び出すことを含む。後のサブステップ自身は、第2のポイント設定保存プロパティインスタンスを取得すること；第2のポイント設定保存プロパティインスタンスから、第2のポイント設定保存プロパティポリシーインスタンスを取得すること；および、表面特徴および表面幾何学的 オブジェクトをもつ第２のポイント設定ポリシーオブジェクトの追加子コールバック方法を開始することを含む。後のサブステップ自身は、ポイント設定保存プロパティをボリュームセルにアタッチすること；特徴バック ポインタ プロパティインスタンスを取得すること；第2の集合体バック ポインタ プロパティ ポリシー インスタンスを、特徴バック ポインタ プロパティインスタンスから取得すること、および表面特徴、表面幾何学的オブジェクトおよび表面特徴バックポインタプロパティをもつ第２の集合体バックポインタプロパティインスタンスの子コールバック方法を開始することを含む。後のサブステップ自身は、表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴オブジェクトの幾何学を有効にすること；および表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴オブジェクトのグラフィックスを無効にすることを含む。
コールバックは、本発明の種々のオブジェクトの多数の効果を持つことができる。例えば、コールバックを行うことによって、セルの状態を変化させ得る。この状態の変化は、一貫性のある有限状態機械に記録されることができる。
本発明の方法の別の局面は、ボリューム特徴のために編集コールバックを行うことである。本発明のこの局面は、ボリュームの併合事象が生じたときに呼び出される幾何学的モデラーインタフェースでメタ-プロパティ併合コールバック分類方法を登録すること; メタ-プロパティ属性をボリューム特徴によって限定される少なくとも１つのボリュームオブジェクトにアタッチすること；幾何学的モデラーインタフェースから、ボリュームオブジェクトと、第２のボリュームと、ボリュームオブジェクトに以前は結合していて除去された表面オブジェクトと、メタ-プロパティ属性とを指定するコールバックを受け取ること；幾何学的モデル属性からポインタ値を取得し、メタ-プロパティオブジェクトの位置を突き止めるためにポインタ値を逆参照すること；および第１のメタ-プロパティオブジェクトに併合コールバックを呼び出すことを含む。後のサブステップ自身は、ポイント設定保存プロパティインスタンスを取得することおよび、プロパティインスタンスからポイント設定保存ポリシー インスタンスを取得すること；およびポイント設定保存プロパティ、第１のボリューム オブジェクト、第２のボリュームオブジェクト、および表面オブジェクトを持つ、ポイント設定保存ポリシーインスタンスに対する併合コールバックを開始することを含む。後のサブステップ自身は、第１のボリュームオブジェクトのために少なくとも１つの含有特徴を取得すること；含有特徴及び第２のボリュームオブジェクトを持つ幾何学的モデラーインタフェースにおいて特徴除去子更新を開始すること；セルバックポインタプロパティインスタンスを取得すること；集合体バックポインタプロパティポリシーインスタンスをセルバックポインタプロパティインスタンスから取得すること；および第２の併合コールバックが、セルバックポインタプロパティインスタンス、第１のボリュームオブジェクト、第２のボリュームオブジェクト、および表面オブジェクトを持つ集合体バックポインタプロパティ ポリシー インスタンスに対して開始することを含む。後のサブステップ自身は、セルバックポインタプロパティインスタンスからボリューム幾何学的セルオブジェクトを取得すること、およびボリューム幾何学的セルオブジェクトに対するセル併合コール開始することを含む。後のサブステップ自身は、ボリューム幾何学的セルオブジェクトのボリュームセル集合体パトロンに対するコールを開始して、第１のボリュームのグラフィックスを無効にすることを含む。
ボリューム特徴自身において編集コールバックを行うための方法を示し、任意に子編集コールバックの除去を含む。後のサブ方法は、特徴除去子事象が生じたときに呼び出される幾何学的モデラーインタフェースでメタ-プロパティ除去子コールバック分類方法を登録すこと；第２のメタ-プロパティ属性インスタンスをボリューム特徴にアタッチすること；幾何学的モデラーインタフェースから、ボリューム特徴と、ボリュームオブジェクトと、第２のメタ-プロパティ属性とを指定する除去子コールバックを受け取ること；第２のメタ-プロパティ属性からポインタ値を取得する；第２のメタ-プロパティオブジェクトの位置を突き止めるためにポインタ値を逆参照すること；および第２のメタ-プロパティオブジェクトにおいて除去子コールバックを呼び出すことを含む。後のサブステップは、第２のポイント設定保存プロパティインスタンスを取得すること；第２のポイント設定保存プロパティインスタンスから、第２のポイント設定保存プロパティポリシー インスタンスを取得すること；ボリューム特徴およびボリュームボリューム 幾何学的オブジェクトを持つ、第２のポイント設定ポリシーオブジェクト除去子コールバック方法を開始することを含む。後のサブステップは、ボリュームセルからポイント設定保存プロパティを除去すること；特徴バックポインタプロパティインスタンスを取得すること；特徴バック ポインタ プロパティインスタンスから第２の集合体バック ポインタ プロパティ ポリシー インスタンスを取得すること；およびボリューム特徴、ボリューム幾何学的オブジェクトおよびボリューム特徴バックポインタプロパティを持つ、第２の集合体バックポインタプロパティポリシーインスタンスの除去子コールバック方法を開始することを含む。後のサブステップは、ボリューム特徴オブジェクトのボリューム特徴集合体パトロンへのコールを開始し、ボリューム特徴オブジェクトの幾何学を有効にすること；およびボリューム特徴オブジェクトのボリューム特徴集合体パトロンへのコールを開始し、ボリューム特徴オブジェクトのグラフィックスを無効にすることを含む。
表面ボリュームで編集コールバックを行うことは、ボリューム特徴（上記）と同じ類似の方法であることを示している。具体的に、表面特徴の編集コールバックを行う工程は、表面併合事象が生じたときに呼び出されるべき幾何学的モデラーインタフェースでメタ-プロパティ併合コールバック分類方法を登録すること；第１のメタ-プロパティ属性を、表面特徴によって限定される少なくとも１つの表面オブジェクトにアタッチすること；幾何学的モデラーインタフェースから、表面オブジェクトと、第２の表面オブジェクトと、第１および第２の表面に以前は結合していて除去された曲面オブジェクトと、メタ-プロパティ属性とを指定するコールバックを受け取ること；幾何学的モデル属性からポインタ値を取得し、メタ-プロパティオブジェクトの位置を突き止めるためにポインタ値を逆参照すること；および第１のメタ-プロパティオブジェクト中に併合コールバックを呼び出すことを含む。後のサブステップは、ポイント設定保存プロパティインスタンスを取得すること；プロパティインスタンスから、第１のポイント設定保存ポリシーインスタンスを取得すること；およびポイント設定保存プロパティインスタンス、第１の表面オブジェクト、第２の表面オブジェクトおよび曲線オブジェクトを持つポイント設定保存ポリシーインスタンスに対して、第１の併合コールバックを開始することを含む。後のサブステップは、第１の表面オブジェクトのために少なくとも１つの含有特徴を取得すること；および含有特徴および第２の表面オブジェクトを持つ幾何学的モデラーインタフェースにおいて、特徴除去子更新を開始すること；集合体バック ポインタ プロパティ ポリシー インスタンスをセル バックポインタプロパティインスタンスから取得すること；およびポイント設定保存プロパティインスタンス、第１の表面オブジェクト、第２の表面オブジェクトおよび曲線オブジェクトを持つ、集合体バックポインタプロパティポリシーインスタンスに対する第２の併合コールバックを開始することを含む。後のサブステップは、セル バック ポインタ プロパティインスタンスから幾何学的セルオブジェクトを取得すること；および表面幾何学的セルオブジェクトに対するセル併合コールを開始することを含む。後のサブステップは、表面幾何学的セルのセル集合体パトロンに対するコールを開始し、第１の表面のグラフィックスを無効にすることを含む。
最後に、表面特徴のための特徴除去コールバックを行う工程は、特徴除去子事象が生じたときに呼び出されるべき、幾何学的モデラーインタフェースでメタ-プロパティ除去子コールバック分類方法を登録すること；第２のメタ-プロパティ属性インスタンスを表面特徴にアタッチすること；幾何学的モデラーインタフェースから、表面特徴と、表面オブジェクトと、第２のメタ-プロパティ属性とを指定する前記除去子コールバックを受け取ること；第２のメタ-プロパティ属性からポインタ値を取得し、第２のメタ-プロパティ オブジェクトの位置を突き止めるためにポインタ値を逆参照すること；および第２のメタ-プロパティ属性、表面特徴及び表面幾何学的オブジェクトを持つ第２のメタ-プロパティ オブジェクト中の除去子コールバックを呼び出すことを含む。後のサブステップは、第２のポイント設定保存プロパティインスタンスを取得すること；第２のポイント設定保存プロパティインスタンスから第２のポイント設定保存プロパティポリシー インスタンスを取得すること；および表面特徴および表面幾何学的オブジェクトを持つ、第２のポイント設定ポリシーオブジェクトオブジェクト中の除去子コールバックを開始することを含む。後のサブステップ自身は、表面セルからポイント設定保存プロパティを除去すること；特徴バック ポインタ プロパティインスタンスを取得すること；特徴バック ポインタ プロパティインスタンスから第２の集合体バック ポインタ プロパティ ポリシー インスタンスを取得すること；および表面幾何学的オブジェクトおよび表面特徴ポインタプロパティをもつ、第２の集合体バックポインタプロパティポリシーインスタンスの除去子コールバック方法を開始することを含む。 後のサブステップは、バックポインタプロパティインスタンスによって確認される表面特徴幾何学的オブジェクトに対して、除去子通知コールを開始することを含む。後のサブステップは、表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴オブジェクトの幾何学を有効にする；および表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴オブジェクトのグラフィックスを無効にするを含む。
【００２８】
コールバックは、多くの方法で行うことができる。しかしながら、通常、コールバックは１セットの１以上のオブジェクトを用いて達成される。通常、そのオブジェクトのセットは、第１の幾何学モデラー特徴オブジェクト；幾何学モデラー特徴オブジェクトに含まれた変化した幾何学オブジェクト；変化された幾何学オブジェクトに効果を及ぼして関連している第１のメタ‐プロパティ属性オブジェクト；第１のメタ-プロパティ属性と関連する第１のメタ-プロパティオブジェクト；幾何学的モデラー特徴オブジェクトと関連する第２のメタ-プロパティ属性オブジェクト；および第２のメタ-プロパティ属性オブジェクトと関連する第２のメタ-プロパティオブジェクトを含む。
【００２９】
第１のメタ-プロパティ オブジェクト自身は、ポイント設定保存プロパティオブジェクト；ポイント設定保存プロパティポリシーオブジェクト；セルバックポインタプロパティオブジェクト；集合体バックポインタプロパティポリシーオブジェクト；コールバックポインタオブジェクトと関連する幾何学的セルオブジェクト；幾何学的セルオブジェクトと関連する集合体セルオブジェクト；および集合体セルオブジェクトトン関連する表示セルグラフィックスオブジェクトのような１セットのオブジェクトを含む。
第２のメタ-プロパティ属性オブジェクト自身は、１セットのオブジェクトを持ち、第２のポイント設定保存プロパティオブジェクト；第２のポイント設定保存プロパティポリシーオブジェクト；特徴バックポインタプロパティオブジェクト；第２の集合体バックポインタプロパティポリシーオブジェクト；特徴バックポインタプロパティオブジェクトと関連する幾何学的特徴オブジェクト; 幾何学的 特徴オブジェクトと関連する集合体特徴オブジェクト;および集合体特徴オブジェクトと関連する表示特徴グラフィックスオブジェクトとを含む。
【発明を実施するための最良の形態】
【００３０】
幾何学的モデル構築および編集は大半が、適切なグラフィックスのサポートを必要とするインタラクティブプロセスである。インタラクティブ コンピュータグラフィックスの複雑さから、オブジェクト指向グラフィックスライブラリであるOPEN INVENTORのような高レベルの開発されたツールを用いたアプリケーションを書くことが好ましい。
地球科学のモデリングを実行するためのアプリケーションである、GEOFRAME （Schlumberger Ltd.製）は、GEOMETRY QUERY INTERFACE（「GQI」）と呼ばれる幾何学的モデリングコンポーネントを備えている。それは、固体３Ｄ幾何学的モデルを構成し、編集するためのアプリケーションプログラミングインタフェース（「API」）を提供するものである。固体３Ｄ幾何学的モデルは、モデルに含まれる種々の幾何学的エレメント間の関係を包含する。ＧＱＩ幾何学的モデリング機能性の一部は、市販の幾何学的エンジン、XOX Corporation製のSHAPES パッケージによって提供される。
グラフィックスシステムは、幾何学的モデルに含まれるもののような複雑な関係が視覚化されるように、グラフィックス情報を表示する。SHAPESパッケージは、OpenGLに基づくグラフィックスシステムを含む。しかしながら、性能上の理由から、グラフィックスのインタラクションおよび幾何学的処理を分離することが重要である。さらに、事実上全ての地球科学アプリケーションは、全てが幾何学的モデリングを要求しているのではないにしても、インタラクティブグラフィックスの視覚化を要求している。したがって、それは、１つの通常の好適なグラフィックスシステムを、アプリケーションを書くために使用し、幾何学的エンジンのみを追加するための開発を簡易化する。
【００３１】
グラフィックスシステムと幾何学的システムの両方を含むアプリケーションを設計する際、その設計の問題点は、どのようにして幾何学的モデルを表現し、かつ視覚的に相互作用するかだけでなく、どのように幾何学的エンジンとグラフィックスエンジンを滑らかに一緒に動かすかという点である。OPEN INVENTORおよびGQI/SHAPESの場合、双方のエンジンは、自動抑制され、それら自身のオブジェクトおよびそれらオブジェクトに関する操作を管理する。２つのエンジンは、幾何学的、位相的な関係及び物性を記載するために、等価なオブジェクトを表す異なる内部表示を持っている。これは、両エンジンによって同じオブジェクトが操作されたときに矛盾を生じさせる。２つのエンジンの統合によって、トラックを維持し、矛盾を両立させるために、いくつかのメカニズムの追加が必要となる。１つのそのようなデザインである、インタラクティブ幾何学的モデリングライブラリ（「IGM」）１０は、高レベルのグラフィックスシステム（「グラフィックスシステム」）１２と、高レベルの幾何学的モデリングパッケージ（「幾何学的システム」）１４とを統合し、図１に示すように、双方のサブシステムを両立して見えるようにしたアプリケーション１６を提供する。ＩＧＭは、グラフィックスシステムと幾何学的システムを統合して、地球科学モデルのインタラクティブな構築、編集および視覚化を可能とする。
地球科学のアプリケーションは、従来のＣＡＤパッケージによって満たされるものに加えて、特別な幾何学的モデリングの必要基準を持っている。サブ表面構造は、典型的に「レイヤーケーキ」２０を形成している。そこでは、層位２２ａ、２２ｂ、２２ｃ、層位２４ａ、２４ｂおよび層位２６および２８のような「層位」が、層を、図２に示すように、例えば仕切られた層３０ａ、３０ｂ、仕切られた層３２ａ、３２ｂ、仕切られた層３４ａ、３４ｂのような分離層がある。レイヤーケーキはしばしば、３０ａ、３０ｂ、３２ａ、３２ｂ、３４ａ、３４ｂのような「断層ブロック」に分かれている。それらは、断層４０および４２のような「断層」によって結合されている。幾何学的モデリングに関しては、これは、使用される幾何学的エンジンが、非多様性の幾何学的形状、すなわち、長さが雑多の幾何学的形状の、表現および演算を支持するものでなければならない（すなわち、３Ｄ断層ブロックおよび２Ｄ断層）であることを意味する。
層位は、層の境界を形成し、断層は、層のブロックを分離およびオフセットしている。論理的に、たとえそれらが、例えば、層３２ａ、３２ｂを層３４ａ、３４ｂから分離する層位２２ａ、２２ｂ、２２ｃのように分割され、空間的に分離されていても層および層位は、単一のオブジェクトであると考えられる。
【００３２】
図３に示すように、表面５２ａ、５２ｂを挿入してレイヤーケーキ５４を形成することによって、関連領域５０は、副分割（sub-divided）される。まず、副分割は、スクリーンのみに現われる。アプリケーションは、表面の位置に満足すれば、計算相互作用およびアッセンブリ中における全てのオブジェクト間の連結関係の確立を「完遂」５６し、レイヤーケーキ５８を生成する。そして層がスクリーン上に表現され、スクリーンビュー５９を提供する。
【００３３】
表面下構造の幾何学的モデルもしくは地球モデルの構築は、大半がインタラクティブプロセスによる。そこでは、新たな表面下データが取得可能であるので、モデルが改良される。図３において、下部表面５２ｂが変形され層位７１を形成しており、その上の層６０の幾何学的形状を楔形もしくは「ピンチアウト」に変えている。ここでもアプリケーションが満たされた後、完遂６２し、幾何学的モデル６４中およびスクリーン６６上において反映されるべき変化をもたらしている。特に、ＩＧＭは２つの層７０、７２を併合し、層７４を生成し、プロセス中において層位７６を除去している。そのような変化を収容するためには、モデル編集のための適切なサポートが、モデルをゼロから構築する容易にするためのものと同程度に重要である。
【００３４】
地球モデルは大きくすることもでき、それぞれが数万〜数十万の三角形によってあらわされる数十〜数表の表面を含むこともできる。ＩＧＭは、同様に大きなデータセットで行わなければならない。それが、バッチプロセスとして機能するいくつかのアプリケーションにとって許容され、もしくは必要とさえされているとき、それは、インタラクティブに地球モデルとともに働かなければならない。これはモデルを見ることならびにそのオブジェクトおよびそれらの属性を編集することを含む。
【００３５】
異なるアプリケーションが地球モデルを共有することができなければならない。このことは、持続的な保存が、モデルを形成する全ての形状、位相関係および属性を含まなければならないことを意味している。
【００３６】
もっとも商業的な幾何学的モデリングシステムは、境界表現を用い、マテリアルプロパティのような形状、位相、および属性の表示を建築学的に分離している。いくつかのシステムは、非多様性な幾何学的形状、例えば、埋没した表面を持つ３Ｄオブジェクトまたは埋没した曲線を持つ２Ｄオブジェクトを表すことができる。そのようなオブジェクトにおいて、境界は、隣接するコンポーネントによって共有されている。例えば、図２に示されているように、断層４２は断層ブロック３０ｂ、３２ａおよび３２ｂによって共有されている。
【００３７】
伝統的な計算援用設計（ＣＡＤ）アプリケーションは、ブロックおよび円筒のような基本の３Ｄ構築ブロックを組み合わせることによって複雑な３Ｄ幾何学的形状を構築している。これは、構築固体幾何学的（ＣＳＧ）モデリングと称される。例えば、図４ａに示されているように、サブボリューム８０ａ〜ｄを最初の形状８２から減算する。さらに、サブボリューム８４ａ〜ｃを最初の形状８６から減算する。ＣＳＧモデリングは、地球モデルを構築するために好適でない。そこでは、３Ｄオブジェクトの形状、例えば、地質的な層は、層位や断層面によって境界を区切っている２Ｄオブジェクトから推論しなければならない。
【００３８】
不規則空間分離（「ＩＳＰ」）は、図４ｂに示すように、再分割され、挿入されているので、地球モデルを構築することができる。関連領域９０は、表面９２ａおよび９２ｂによって再分割され、レイヤーケーキ９４を生成する。岩塩ドームを表すサブボリューム９６をレイヤーケーキ９４に挿入し、オブジェクト間の境界の形状を編集し、最終的なモデル９８を作製する。
【００３９】
ＩＳＰモデルは、さらに、異なる境界に沿って現れる内部不連続部を含んでもよい、滑らかに変化するマテリアルプロパティフィールドを表す。不連続境界の位置は、モデルの形状および構造を構成する。不連続境界の形状が明確に表されている。これらの境界は、無限の空間のどこに位置することもでき、どのような形状をとることもでき、分割空間に互いに交差し、複数セットの異なるサブ領域をなすことができる。
【００４０】
ＩＳＰモデルは、「関連領域」を定義し、より低次元のオブジェクト、例えば、真っ直ぐなグラフィック境界によって層に再分割されたサブ表面領域によって再分割することもできる。ＩＳＰモデルのＧＱＩの実施によって、均一なオブジェクトとしての領域の集合を取り扱うことを可能にする特徴の概念がサポートされる。
【００４１】
幾何学的エンジンは、分析的およびパラメータ的曲線を含む形状の種々の表現ならびに表面表現を提供する。地球科学において、三角形メッシュは、表面表現のために広く用いられている。
【００４２】
モデルの位相的な表現は、ノードが頂点、曲線、面およびボリュームのような位相的なエンティティであり、端面が連結的関係にあるグラフである。これは、境界表現もしくは「ｂ−ｒｅｐ」と呼ばれる。ＣＳＧおよびＩＳＰモデリングの双方がｂ−ｒｅｐを生成することができる。
【００４３】
例えば、図５ａは、境界１０６を共有する２つの隣接する矩形１０２，１０４からなるオブジェクト１００を示す。図５ｂに示されたオブジェクト１００の分解図は、それが２つの面１０８、１１０、７つの端部１０６、１１２、１１４、１１６、１１８、１２０および１２２、ならびに６つの頂点１２４、１３６、１３８、１３０、１３２および１３４を含むことを示している。図５ｃに示された、これらの幾何学的要素の間の位相的な関係は、面１０８および１１０を表す円形１３６および１３８をそれぞれ含む。面１０８は、それぞれ円形１４０、１４２、１４４および１４６によってそれぞれ表される４つの端部１２０、１２２、１１２および１０６によって連結され、および境界がつけられている。「境界がつけられている」関係は、円弧１５０、１５２、１５４および１５６によって表されている。面１１０は、それぞれ円形１５８、１６０、１６２および１４６によってそれぞれ表される４つの端部１１４、１１６、１１８および１０６によって連結され、および境界がつけられている。「境界がつけられている」関係は、円弧１６４、１６６、１６８および１７０によって表される。
【００４４】
属性は、典型的に位相的なエンティティによって関連付けられている。例えば、矩形の色属性１７２および１７４は、それらの対応する面１３６および１３８にそれぞれ関連している。
【００４５】
幾何学的モデリングシステムは、総合的な一連の幾何学的操作をサポートする。これらは、曲線／曲線、表面／表面および表面／曲線の交わりならびに和、減算および固体オブジェクトの交わり等のブール演算が含まれる。固体についてのブール演算はまた、(位相的な)分類とも呼ばれる。非多様なオブジェクトに対するサポートは、いくつかの分類、すなわち、再分割操作が「一体構造」のオブジェクトではなく、むしろ複合体を生成することを意味している。例えば、図３の関連領域５０の、２つの表面５２ａおよび５２ｂによる再分割を参照されたい。表面５２ａおよび５２ｂに加えて、得られたモデルは、元のブロックに置き換えられる３つの層１８０、１８２および１８４を含んでいる。
【００４６】
多くの幾何学的計算は、「インタラクティブ時間」において実行される。すなわち、それらは数秒未満で完成される。しかしながら５０万程度の三角形からなるメッシュを含むブール演算は数分程度かかる。
【００４７】
単一オブジェクトの変換は非常に速い。同じオブジェクトの変換は、それがより大きなアッセンブリを形成している場合、再分類が必要であるため、かなりの時間がかかる。
【００４８】
GQI/SHAPESは、非多様体オブジェクトの表現および計算をサポートする幾何学的モデリングシステムを実行する。GQI/SHAPESは、密閉されたアブストラクトデータ型がＣ言語ＡＰＩを提供する。アプリケーションが属性を持つコールバックを登録することができるようにするSHAPES属性メカニズム全体において、拡張性が付与されている。分類アルゴリズムとして誘発されるコールバックは、それらの関連するオブジェクトを変化させる。GQI/SHAPESは、持続的な保存のための所有ファイルフォーマットを定義する。
【００４９】
高レベル３Ｄグラフィックスシステムは、形状および属性表現を密閉したライブラリ、表現方法および対話方法である。市販の製品としては、OPEN INVENTOR、IRIS PERFORMER、HOOPS、RENDERWARE、COSMO 3Dその他がある。本モデルは、拡張可能なオブジェクト指向３ＤグラフィックスライブラリであるOPEN INVENTORを用いる。アプリケーションは、OPEN INVENTORコールを使用して３Ｄオブジェクトを作成し、それらを有向非循環（ＤＡＧ）グラフ、いわゆるシーングラフに配列する。
【００５０】
例えば、図５ａに示された、端部が共有された２つの矩形は、図６に示されているように、スクリーングラフとして表してもよい。スクリーングラフの横断順序は、上から下および左から右である。グループノード１９０は、横断の開始部である。次のノード１９２は、マテリアルプロパティ、すなわち、色(グレー４０)を確立している。ノード１９４は、画像の開始座標を確立している。ノード１９６は、「インデックスフェースセット」あるいは、左の矩形の頂点のインデックスを確立している。ノード１９８は、色マテリアルプロパティの値をグレー２０に変更しており、ノード２００は、右の三角形の「インデックスフェースセット」を確立している。このスクリーングラフを横断するとき、図５ａに示される画像がスクリーンに表示される。
【００５１】
アクションと呼ばれる特別なセットの分類は、アプリケーションがシーングラフを横断するオブジェクトを作成し、そのノード上で操作を行うことを可能とする。例えば、シーングラフ中のオブジェクトを表示するための表現アクションなどがある。シーングラフの役割は、横断順序の定義である。アクションは、操作がオブジェクトに保存されていないが横断中に行われる操作の副作用である状態のときは、いつでも使用される。例えば、図６のシーングラフは、１つの座標ノード１９４を含んでおり、その座標は、２つのインデックスフェースセットによって共有されている。横断中、「電流座標」のアレイが維持されている。各インデックスフェースセットは、１つの矩形をあらわし、その角座標のインデックスを含んでいる。座標と同様に、マテリアル値も、新たなマテリアルノードによって置き換えられるまで有効である。その結果、図６において、第１の矩形は、第２のものよりグレーの影が暗く描かれる。
【００５２】
センサと呼ばれる別セットの分類を、シーングラフのノードおよびサブグラフをモニタするために使用することができる。アプリケーションは、コールバックとセンサを関連付けることができ、それは、「センサで認識された」オブジェクトの状態が変化するごとに誘発される。
【００５３】
Open Inventorオブジェクトは、箱形、球状および円筒状のような形状、ならびにNURBS曲線および表面および三角形メッシュのようなパラメータ形を暗に含む。形を作成し表示することができるとき、座標変換および光オブジェクト交わり以外の幾何学的計算のためのサポートは存在しない。これらの操作は典型的に速く行われ、再表現が必要な場合、時間を表現することによって支配される。達成可能なフレーム速度がそれをサポートする限りインタラクティブワークが可能である。例えば、シーンが０．１秒で表現されることができるとき、オブジェクトは、シーンの周りを１０フレーム／秒で移動することができる。
【００５４】
幾何学的サブシステムおよびグラフィックスサブシステムのＩＧＭ統合によって満たされる重要な要件がいくつか存在する。第１に、ＩＧＭは、インタラクティブに３Ｄオブジェクトを構築、編集、および操作するための一貫性のあるオブジェクト指向インタフェースを提供する。第２にＩＧＭは、オーバーヘッドの観点から軽量である。各サブシステムそれ自体は複雑で、統合はオーバーヘッドをさらに最小化するものであり、性能を低下させるものではない。第３に、インタフェースは、カスタマイズが可能であり、拡張可能である。
【００５５】
さらに、３つの主な問題点がＩＧＭによって対処される幾何学的およびグラフィックスシステムの上記概説において述べられている。それらは、いずれかのシステムにおける幾何学的オブジェクトの表現におけるミスマッチ、オブジェクト属性におけるミスマッチ、および処理速度の矛盾である。
幾何学的システムおよびグラフィックスシステムのオブジェクト表現は一致しない。幾何学的システムのオブジェクトは、図５ｃに示されているように、位相グラフによって明確に連結されているが、グラフィックスオブジェクトは、図６に示すように、単にシーングラフに配列されているに過ぎない。
【００５６】
さらに、地球モデルにおいては、多くの表面が隣接するオブジェクト間の境界として共有されており、その結果、幾何学的システムにおいて２つの役割を果たしている。第１に、それらはそれら自身がオブジェクトであり、空間のいくつかの領域を再分割することによって、地球モデルを構築するために使用される。第２に、それらは岩層の境界表面である。そうであるのでそれらは層オブジェクトの一部をなす。グラフィックスシステムにおいて、地球モデルが表現されるとき、それは、１セットの表面もしくは１セットの層として表現してもよく、またはその両方でもよい。１セットの層を表現するとき、共有される表面は、良好な性能のために１度だけ表現される。
【００５７】
その結果、幾何学的オブジェクトとグラフィックスオブジェクトとの間には１対１の関係は存在しない。むしろ、グラフィックスオブジェクトは、幾何学的オブジェクトの過渡的な表現でなければならず、そのためオブジェクトの２つの表現が維持されなければならないときは、データを複製しなければならないことにもなる。さらに、データ複製は、オブジェクトの１つの表現が変化するとき、その他の表現も同様に更新されることを保証するようにデータの一貫性コントロールを要求する。幾何学的システムの属性は、図５ｃの色属性１７２および１７４のような、オブジェクトもしくはオブジェクトまたは複数のオブジェクトと直接的に関連する。グラフィックスシステムにおける属性は、幾何学的オブジェクトとはっきりとは関連していない。むしろ、それらは、図６のノード１９２および１９８のような、シーングラフの「自律的な」オブジェクトであり、表現状態に影響を及ぼし、したがって表現される形状の外形を間接的に制御する。
【００５８】
ＩＧＭは、複雑な幾何学的モデルを用いて、インタラクティブワークをサポートする。ユーザがオブジェクトのグラフィックス表現に対して行った変化をモニタすることができ、望ましい場合、幾何学的表現にあらゆる変化を「完遂」させるようにユーザに要求する。図３を参照されたい。関連領域５０を表面５２ａおよび５２ｂを用いて再分割するために、まず表面を正確に位置づけなければならない。これは表面幾何学のみのグラフィックスをインタラクティブに操作することによって行うことができるであろう。この相においては、幾何学的モデルは、スクリーンに見えているものと一致していない。次に、表面を幾何学的モデルに組み込むために分類を行う。やや時間のかかるこのプロセスの後、幾何学的モデル５８およびスクリーン５４上の表現が再び一致する。
【００５９】
グラフィックスシステムと幾何学的システムの双方は、拡張システムである。この２つのシステムを統合する際の最初の設計上の選択は、１つのシステムを最初のシステムと見て、それを他方のシステムにおいて見られる機能性によって最初のシステムを拡張するか、または、双方のサブシステムの上部の統合層を作成するかのいずれかである。本モデルは、後者のアプローチを用いる。必要に応じて、いずれかのサブシステムを取り換えることができるグラフィックスシステムと幾何学的システムを統合する統合層を用いることで、グラフィックス操作と幾何学的操作とが明確に分離し、そして、各サブシステムが異なるホストにおいて分散された実行を行うことができる。
【００６０】
統合層はＣ++において実行される。次の設計上の選択は、多重継承を使用するか、オブジェクト集合体を使用するかである。多重継承によって、孫は子の親を、それらの互いの下位にアクセスすることなく継承する。１つの階層における下位が他の改造構造における下位と関連する「いとこ」関係をモデリングすることが望ましい。したがって、多重継承は適切ではない。
【００６１】
さらに、好ましい態様は、サブシステムを完全には密閉せず、むしろそれらをアプリケーションに対して露出させている。これはオーバーヘッドを最小化する。なぜなら、それはオブジェクトをいくつかのそれらのそれぞれのサブシステムに特異的な操作に対して接近しやすい状態にし、一方、統合層において定義された唯一のオブジェクトを管理することを可能にしている。データの一貫性コントロールは、サブシステム間に矛盾が結果的に生成されることを避けることを助長する。
【００６２】
本モデルは、統合層の設計において「オブジェクト集合体」を用いる。「AggregateObject」クラス２１０は、オブジェクトのGeometryObject表現２１２およびGraphicsObject表現２１４の共通の局面を図７に示すように密閉している。ライン２２０および２２２は、一方の端部に矢印を持つラインによって示された、１対多数の関係を示しており、その「１つの」関係が矢印をもつ端部にある。例えば、ライン２２２は、単一のアプリケーション２２８が複数のAggregateObjectを管理し、そのうちの１つがAggregateObject２１０であることを示している（その他は図示していない）。ライン２１６、２１８は、１対１関係を示している。示されている実施例において、AggregateObject２１０は、１つのGraphicsObject２１４および１つのGeometryObject２１２を有している。GraphicsObjectクラスは、GeometryObjectの多数のグラフィックビュー２２７および２２９を含んでもよい。
【００６３】
図７に示された「IgmAction」クラス２２４は、位相グラフを横断し、グラフィックス表現を生成するか、使われていないグラフィックスオブジェクトを除去するシーングラフを横断するか、または幾何学的オブジェクトを横断するかのいずれかが要求される方法を密閉している。
GeometryObjectクラス階層は、図８に示された幾何学的サブシステム中の幾何学的オブジェクトのためにC++ラッパーを提供する。ツリーの最上部において、IgmObject ２３０は、GeometryObject ベースクラスである。gmGeometry クラス２３２（図８における"gm"と"Geometry"の間の下線のように図に示された図中の不定の名称の下線は、明細書のテキスト部分に残されている）は、IgmObjectのサブクラスであり、サブクラス化は、ライン２３４のような矢印のついたラインによって表されている。gmGeometryクラスは、特徴のためのgmFeature２３６とセルのためのgmCell２３８の２つのサブクラスを持ち、このサブクラス化は、ライン２４０によって示されている。gmFeatureクラスおよびgmCellクラスは、特徴およびセルに対してGQI handleをそれぞれ保存している。gmFeatureクラスは、多数のサブクラスを有しており、それは、平面のためのgmPlane２４２、ボックスのためのgmBox ２４４、ウェブのためのgmweb ２４６、ＩＳＰのためのgmISP２４８、およびその他２５０を含む。サブクラス化はライン２５２によって示されている。
【００６４】
図９に示されているように、GraphicsObjectクラス階層は、スクリーン上に表現することができるオブジェクトを記載する。GraphicsObjectクラスは、 GeometryObjectsを表現し、図表による対話を扱う役割を担っている。GraphicsObjectツリーの最上部には、OPEN INVENTORのSoWrapperKit２５４があり、それは、シーンサブグラフを構築し、管理するためのメカニズムを提供する。典型的にそれらのサブグラフは、属性および形状ノードを包含している。したがって、SoWrapperKits は、属性と形状を関連付け、グラフィックスサブシステムと幾何学的サブシステムの間の属性表現ミスマッチを扱う単純な方法を提供する。oiBaseKit２５６は、ライン２５８で示されているようにSoWrapperKitのサブクラスである。このoiBasekitは、oiFeatureクラス２６０、oiCellクラス２６２およびoinongmBasekitクラス２６４を含む多数のサブクラスを持ち、サブクラス化は、ライン２６６で示されている。oiFeatureクラスは、oiBoxクラス２６８、oiwebクラス２７０、oiISPクラス２７２および他のクラス２７４を含む多数のサブクラスを持ち、サブクラス化は、ライン２７６で示されている。さらに、幾何学的モデルの一部ではないオブジェクトを表現するoinongmBaseKitは多数のサブクラスを持ち、サブクラス化は、ライン２８０で示されている。
幾何学的モデルの一部ではないオブジェクトグラフィックスオブジェクトを除き、グラフィックスオブジェクトは、図６に示されているような、それらの対応するGeometryObjectsを表現する流れを表すシーングラフを包含する。例えば、ＩＳＰモデルのためのGraphicsObjectは、その連続する特徴を表すGraphicsObjectsが入れられているシーングラフを含むことができる。アプリケーションは、それら自身のシーングラフにGraphicsObjectsを加え、幾何学的モデルの望ましい部分を表現している。通常、アプリケーションは、新たな分類されていないオブジェクトの GraphicsObjectをシーングラフに追加している。分類後、新たなオブジェクトは、複合体オブジェクトの一部となり、そのその「独立の」表現は、シーングラフから除去される。ＩＳＰモデルのためのGraphicsObjectは、シーングラフに追加されるか、またはすでに追加されている場合、更新される。
【００６５】
ユーザの対話を通して、GraphicsObjectに加えられた変更は、Open Inventor センサによってモニタすることができる。センサは、変更のAggregateObject を通知するコールバックを誘発することができる。ユーザは、IGMインタラクタを介してGraphicsObjectと対話する。ユーザが満足するまでは、変更はグラフィカルのみであり、アプリケーションは、AggregateObjectにGraphicsObjectを通知し、GeometryObjectに対する変更を伝えるよう通知する。
【００６６】
必要に応じて、特殊化が可能であるにもかかわらず、GraphicsObjectsは、GeometryObjectsによって特殊化される必要はない。多くの場合において、必要な機能性を密閉するには、一般のGraphicsObjectで十分である。例外として、GeometryObjectから構築されてはいない純粋なグラフィカルな表現が存在するオブジェクト、例えば、分類される前に表面が押出し成型曲面で構築されたもの、および編集もしくは変形するための、ウェブ表面のような特別な対話を要求するオブジェクトが含まれる。
AggregateObjectクラス階層は、図１０に示すように、統合されたオブジェクトを表現している。AggregateObjectクラスツリーの最上部には、IgmObject２３０があり、それはまた、GeometryObjectクラス階層の最上部でもあった（図８参照）。agBaseクラス２８０は、IgmObjectクラス２３０のサブクラスであり、サブクラス化は、ライン２８２で示される。agBaseClassクラスは、agGeometryクラス２８４およびagBaseClassクラス２８６の2つのサブクラスを持ち、サブクラス化は、ライン２８８で示される。agGeometryクラスは、agFeatureクラス２９０およびagcellクラス２９２の2つのサブクラスを持ち、サブクラス化は、ライン２９４で示されている。nagBaseクラス２８６は、幾何学的モデルの一部ではないオブジェクトを表し、複数のサブ-クラス２９６を持ち、サブクラス化は、ライン２９８によって示されている。agFeatureクラスは、agPlaneクラス３００、agBoxクラス３０２、agwebクラス３０４、agISPクラス３０６および他のクラス３０８を含む、多数のサブ-クラスを持ち、サブクラス化は、ライン３１０で示されている。
AggregateObjectは、GraphicsObjectとGeometryObjectとの間で共有されるデータ統合および方法を表す。図１１に示すように、例えば、agPlaneオブジェクトは、その対応するGraphicsObjectsおよびGeometryObjectsと一緒にクラス階層を形成する。階層の大半は、図８〜１０に示されたクラス階層から抽出されたものである。ライン３２０によって表された集合体クラスとグラフィックスクラスの間の関連性、およびライン３２２によって表された集合体クラスと幾何学的クラスの間の関連性が集合体に追加され、集合体を表現している。
【００６７】
AggregateObjectsは、オブジェクトパラメータ、例えば、点および面の法線から構築することができる。AggregateObjectクラスは、その対応するGraphicsObjectsおよびGeometryObjectsを構築するための方法を提供する。アプリケーションは、いつサブオブジェクトを作成すべきかをコントロールする。
【００６８】
あるいは、AggregateObjectsは、存在するGraphicsObjectsまたは存在するGeometryObjectsから構築することができる。これによって、アプリケーションがグラフィックス表現と等価のパッケージのみからのオブジェクトを導入することができるようになる（例えば、他のOPEN INVENTORアプリケーション)。より重要なことには、アプリケーションが、持続的な保存のために、GeometryObjects表現を使用し、形状、位相的および属性情報によって、完結することができるようになる。典型的に、AggregateObjectsとGraphicsObjectsは、持続的な保存からGeometryObjectsをローディングしているその進行中に作成される。
この３つのクラスツリーは類似しているが、いくつかの相違点がある。例えば、この３つのクラスツリーは、深さが相違する。３つすべてのクラスは、動的タイプ確認をサポートしている。
【００６９】
IGMは、一般的なGraphicsObjects、GeometryObjects及びAggregateObjectsに加えて、多くの標準的なオブジェクトを定義する。例えば、GeometryObject クラス階層は、多くのサブ-クラスを含む。なぜなら、それらは、幾何学的システムによってモデリングされ得る異なるオブジェクトを密閉しているからである。GraphicsObject階層は、より少ないオブジェクトを含む。なぜなら、多くのGeometryObjectsは、一般的な方法を用いて表現することができるからである。例えば、図８の面２４２のための特別なGeometryObjectが存在するが、図９に示されているような特別なGraphicsObjectは存在しない。メッシュ状表面のような他のオブジェクトおよび複合体オブジェクトは、特別なGraphicsObjectsにおいて実行される、インタラクティブな編集をサポートすることを必要としている。複合体オブジェクトは、相当に複雑になってもよく、コンポーネント基準での更新を管理する特別なクラスに密閉されていてもよい。
図７に示すように、アプリケーションは、AggregateObjects をインスタンス化し、管理する。AggregateObjectsはまた、AggregateObjectsへのコール３３０によって、グラフィックス操作及び幾何学的操作をも提供する。それは、図１２に示すように、その後、委託経路３３２を通ってGraphicsObject２１４へ、または、委託経路３３４を通ってGeometryObject ２１２へのいずれかの適切なサブオブジェクトに委託される。アプリケーションはまた、図１３に示すように、それぞれ、コール経路３３６および３３８を介してのGraphicsObjects およびGeometryObjectsへのリードオンリーアクセスをも備え、システムの一貫性に影響を及ぼさない操作を行う。この露出によって、最小のオーバーヘッド要件を満たすことができる。なぜなら、AggregateObject におけるGraphicsObject方法またはGeometryObject方法の反復を最小とすることができるからである。
そのルートクラスがmpMap３４０（それ自身は、ライン３４２で示したように Igmobject クラス２３０内に定着している）である、図１４に示された特別なクラスは、物理的特性から表現可能な属性へ、必要なデータフォーマットの翻訳およびマッピングを実行する。例えば、ライン３４６で示されたように、mpMapクラスからサブクラス化されたmpColorMapクラス３４４、およびライン３５０で示されたように、mpColorMapクラス３４４からサブクラス化されたmpCLutMapクラス３４８は、多くの方法で標識化されたカラーマップを提供する。ライン３５４で示されたように、mpCLutMapクラスからサブクラス化されたmpCLutDoubleMapクラス３５２は、２倍の精密な変動点の数の範囲でカラーをマップする方法を提供する。mpMapおよびmpCLutMapクラスからそれぞれサブクラス化された、他のクラス３５６および３５８も存在する。
GraphicsObjectがOpen Inventorセンサを使用するのと同様に、GeometryObjectは、GQI/Shapes属性を通じて利用可能なコールバックメカニズムを使用するAggregateObjectは、幾何学的オブジェクトの状態への変化が通知される。
AggregateObjectは、多数のタスクを遂行し、その２つが一貫性のコントロールとデータ変換管理である、それをより詳細に説明する。該タスクは：
１．GraphicsObjectとGeometryObjectとを統合し、アプリケーションに、幾何学的システムおよびグラフィックスシステムに対する簡単なインタフェースを提供する。
２．オブジェクトの一貫性を管理する。例えば、GraphicsObject 変換をインタラクティブに行うことができる。一方、GeometryObject変換には時間がかかるかもしれない。なぜなら、再計算するために交差および位相関係が必要だからである。AggregateObjectは、変換が両方のサブシステムに適用されたかどうかを追跡する。
【００７０】
３．編集操作の副作用を最小限にする。ＩＳＰオブジェクトの全てが典型的に複合体オブジェクトを含む分類による影響を受けるわけではない、多くのサブオブジェクトで構成してもよい。境界表現レベルでの状態変化を管理することによって、AggregateObjectは、必要とされる更新の位置を突き止める。
４．GeometryObjectとGraphicsObjectとの間の「均一な(flat)幾何学的データ」変換を管理する。均一な幾何学的データは、位相関係の表示のない形状データの表示である。
【００７１】
５．管理を選択する。選択は、通常、GraphicsObjectによって開始されるが、いくつかのサブ-クラスは、対応するGeometryObjectによって行われる。その結果、AggregateObject座標選択および交信が行われる。
【００７２】
ＩＧＭによって統合される２つのサブシステムは、常に一致しているわけではない。すなわち、それらは、時々同じ幾何学的データの一貫性のない表示を有していることもある。しばしば、この２つのサブシステムは、拡張された編集操作の性能を改良するために、意図的に一致させないでおくことがある。
２つのサブシステムの、有限数の可能な「有効／無効」状態およびAggregateObjectは、図１５に示すように、該２つのサブオブジェクトを可変な状態とした有限状態機械として取り扱われることができる。サブオブジェクトは、それらが最後のユーザ対話の結果を表しているかどうかにしたがって、「有効」か「無効」とすることができる。AggregateObjectは、１つの状態から別の状態への遷移をモニタし、管理することによって、一貫性を管理し、処理速度の不一致の問題に対処する。
状態機械は、種々の事象に対応して変化させることによって操作する。 GraphicsObjectおよびGeometryObjectの双方が有効であるとした場合、それは、システムが状態３６０にあることを意味する。状態３６０のような状態を表すボックスの左半分は、GraphicsObjectが有効もしくは無効の場合、それぞれ陰影を付けるか、もしくは付けていない。状態３６０を表すボックスの双方の半分に陰影が付けられているとき、それはGraphicsObjectおよびGeometryObjectの双方が有効であることを示す。
今、GraphicsObjectが変化すると想定する。そのような変化の例は、グラフィックスオブジェクトを選択し、その動きにコミットすることなくそれを移動させるアプリケーションであろう。そのような変化は、GraphicsObjectは有効であるが、GeometryObjectは無効である状態３６４への遷移３６２によって表される。GraphicsObjectがさらに変化した場合、遷移３６６に示されているように、システムはこの状態から遷移しない。
もし、GraphicsObjectに対する変更が、GeometryObjectでなされる変更(移動された表面の分類等)を引き起こすことに関与していたら、または、もし、GeometryObjectが作成されたら、システムは、GraphicsObjectおよびGeometryObjecの双方が有効である状態３６０へ後ろ向きに遷移３６８する。そうではなく、もしパラメータが変化したら、システムは、GraphicsObjectおよびGeometryObjecの双方が無効である状態３７２へと遷移３７０する。さらに、パラメータの設定もしくは変更は、システムを状態３７２のままにすることもある。
システムは、２つの環境において、状態３７２に放置することができる。システムがGraphicsObjectを作成したら、システムは、GraphicsObjectが有効であり、GeometryObject が無効である状態３６４へ遷移３７４する。そうではなく、システムがGeometryObjectを作成したら、システムは、GraphicsObjectが無効で、GeometryObjectが有効である状態３７８に遷移３７６する、。システムは、GeometryObjectにおいて更なる変化３８０が起こるまでは状態３７８のままである。GraphicsObjectが更新されるか、またはGraphicsObjectが作成された場合、システムは、状態３６０に遷移３８２する。そうではなく、パラメータが変化した場合、システムは、状態３７８から、GeometryObjectおよびGraphicsObjectの双方が無効である状態３７２へ遷移３８４する。
図３の実施例を検討する。そこでは、ユーザは、新たな表面をスクリーン上に位置づける。表面のグラフィックス表現は、それらが、ユーザによって意図された形状および位置を持つまで、有効である。幾何学的モデルは、無効である。なぜなら、そのオブジェクトは、それらの間の位相関係を確立しないなら、存在するオブジェクトと重なるからである。したがって、該システムは、状態３６４にある。一旦、ユーザが変更に関与すると、該システムは、状態３６０に遷移３６８し、幾何学を変更させ、グラフィックスを更新させる。GeometryObjectとGraphicsObjectとの間の複雑な変換を行う方法は、図７に示されるように、それら独自のクラスとして実行することができ、それら独自のベースクラスは、IgmAction２２４と称される。IgmActionは、gg_Action（およびそのサブクラス）を使用して、幾何学からグラフィックスを生成する。gm_objectは、ag_objectまたはoi_objectの助けによって、グラフィックスオブジェクトから幾何学的オブジェクトを生成する（gqi instance）。igm_Objectクラスに導き出されるgg_Action オブジェクトは、位相グラフを横断することができ、望ましい操作を行い、適切であれば、個別のオブジェクトに方法をコールする。ggActionは、サブシステム間の幾何学的オブジェクト表現ミスマッチを扱うコンポーネントである。それは、AggregateObjectによって使用され、一貫性のある管理をサポートする。
【００７３】
いくつかの異なる表現モードにしたがって、GeometryObjects からGraphicsObjectsを作成し、または更新することができるIgmActionの例を述べる。それに依存して、GraphicsObjectsは、表現すべき、異なる属性および形状を含むことになるだろう。表現モードとしては以下が含まれる。
【００７４】
１.サブボリュームの表現であって、そこでは、表面と境界をなす各ボリュームが表現される（隣接するボリュームの境界は、１回だけ表現される）。このモードでは、 ピックスリターンボリューム（picks return volume）オブジェクトおよび切り取られたボリュームが閉じられたオブジェクトとして表現されている（切り開かれたボリュームの反対のボリュームとして）。
２．空間を分割する表面の表現。ピックスリターン表面およびクリッピングを表面の穴に作成してもよい。
モードの表現の管理は、GraphicsObjectsがそれらの対応するGeometryObjectsの視覚表現であることを示している。上記したように、２つのタイプの間には１対１の関係は存在しない。例えば、ボリュームを表現するGraphicsObjectによってどの形状が表現されるかは、隣接するオブジェクトおよびクリッピング面に依存する。
【００７５】
３Ｄビューに表示されるべき全てのオブジェクトではないが、必然的にオブジェクトは、幾何学的モデルの一部を形成もしくは形成することを意図されている。例としては、テキスト、シンボル、グリフがあげられる。さらに、多くのアプリケーションが表現されるが、幾何学的モデルの一部ではない。幾何学的解釈を持つデータを用いて機能する。地球科学の例は、 ボアホール軌跡（borehole trajectory）がある。これは引用によってのみ表す。ＩＧＭは、agBaseClass２８０(図１０)を提供する。「非幾何学的モデル」オブジェクトのようなもののためのnagBaseClass２８６がそれに由来する。nagBaseClassの等価GraphicsObjectは、oinongmBaseKit２６４（図９）である。
このアプローチによって、アプリケーションは、幾何学的モデルに用いられるべきものであるかどうかにかかわらず、１つの一般的なタイプのオブジェクトが幾何学的モデルのために用いられることができるようにする。例えば、SceneManagerクラスは、１以上のアプリケーションウインドウに表示されているか、隠されているように、オブジェクトを追跡するように書かれている。さらに、nagBaseClassのサブクラスは、GraphicObjects と全体とのデータベースにおける結合を密閉することができる。
本発明は、ハードウェアにおいてもソフトウェアにおいても、あるいはその両方においても実行することができる。しかしながら、本発明は好ましくは、  プロセッサ、保存システム（揮発性および不揮発性メモリおよび/または保存エレメントを含む）、少なくとも１つの入力および少なくとも１つの出力装置を備えたプログラム可能なコンピュータ上で実行されるコンピュータプログラム内において実行される。プログラムコードは、入力データに適用され、上記の機能を行い、情報を出力する。出力された情報は、１以上の出力装置に公知の方法で適用する。
【００７６】
それぞれのプログラムは、高レベルの手続き上のまたはオブジェクト指向プログラミング言語（Ｃ++もしくはＣ等）で行われ、コンピュータシステムと交信することが好ましい。しかしながら、プログラムは、 望ましければ、アッセンブリまたは機械言語で行われることができる。いずれにしても、この言語は、遵守された言語もしくは解釈された言語であることができる。
【００７７】
そのようなコンピュータプログラムはそれぞれ、汎用もしくは専用のプログラム可能コンピュータによって読み取り可能な保存媒体もしくは装置（例えば、ＲＯＭもしくは磁気/光ディスクもしくはディスケット）に保存されることが好ましい。というのは保存媒体もしくは装置をコンピュータによって読み取り、本明細書に記載の手続を行う際にコンピュータを構成し、操作するからである。そのように構成された保存媒体がコンピュータを特別なおよびあらかじめ定義されたやり方で操作させ、本明細書に記載の機能を実行することができるように操作させている場合、本発明のシステムは、コンピュータプログラムを用いて構成された、コンピュータ-読み取り可能な保存媒体として実行すると考えることができる。
図１６を参照されたい。そこでは、第１のボリューム４００および第２のボリューム４０２が表面セル４０１によって分離されている。ボリュームセル４００および４０２の右側に、表面セル４０１に対応する表面特徴４０４によって示された一連の注釈（note interpretations）がある。表面特徴ノード４０４は、色マテリアルのないグラフィックスコンテンツであるノードＭＰ４０６、ＭＢ４０８および面４１０を含む。ボリュームセル４００は、ＭＰ４１４、ＭＢ４１６および表面４１８を持つボリューム４０１２のノード表現を持つ。ノート表現（note representation）を持つ第２のボリューム４０２の一部は、ノード４２０のボリューム２、ＭＰ４２２、ＭＢ４２４および面４２６によって率いられる。
図１７は、ボリューム４２８およびボリューム ４３０を持つ類似のボリューム表面セル配置が、表面セル４２９によって分離されている異なる実行を示している。このノード表現には、図１６のノード表現とは有意な差がある。図１６に示されたノード表現同様、図１７に示されているように、表面特徴ノード４３２、ボリュームノード４３８およびボリュームノード４４４が存在する。しかしながら、図１７に示されているように、本発明の実施形態のいくつかは、表面特徴ノード４３２、ボリュームノード４３８およびボリュームノード４４４に連結した共通の表面４５０を持っている。図１７に示されているように、ＭＰ４３４、ＭＰ４４０、ＭＰ４４６ならびにＭＢ４３６、ＭＢ４４２およびＭＢ４４８のような他のエレメントも連結されている。
【００７８】
図１８ａは、本発明によって説明することができる種々のボリュームおよび表面特徴の２次元的な表現である。特に、ボリュームＡｌ ４５２、Ｂ１ ４５６、Ａ２ ４５４およびＢ２ ４５８は、表面特徴ＨＩ４６０、Ｆ１ ４６４、Ｆ２ ４６６、Ｈ２ ４６２およびＦ３ ４６８によって分離されている。図１８ａの種々の表面およびボリュームを図１８ｂにノードの形式で示す。特に、表面ルート４７０は、表面ノードのすべてを含んでいる。ボリュームルート４８６は、ボリュームノードのすべてを含んでいる。例えば、表面特徴Ｈ４７２は、図１８ａのＨ１ ４６０およびＨ２ ４６２にそれぞれ対応する表面特徴Ｈ１ ４７４およびＨ２ ４７６を有している。同様に、図１８ａのＦ１ ４６４、Ｆ２ ４６６およびＦ３ ４６８に対応する他の表面特徴Ｆ１ ４８０、Ｆ２ ４８２およびＦ３ ４８４も存在する。図１８ａに示されるボリュームエレメントは、対応するノード表現を図１８ｂの右側に 有している。特にノードボリューム４８８、ノードボリューム４９０、ノードボリューム４９２およびノードボリューム４９４は、図１８ａのボリューム４５２、４５４、４５６および４５８に対応している。グラフィックスコンテンツ４７４、４７６、４８０、４８２および４８４は、表面ルート４７０に定着し、表面シーングラフおよびボリュームルート４８６に定着したボリュームシーングラフを含んでいる。
【００７９】
本発明のフレームワーク
本発明は、その他の実行の低レベルのＧＱＩ Ｃ-構造メカニズムを新たなフレームワークで置き換える。性能をさらに改良するため、上記コアgmMPフレームワーククラスは、もはやＩＧＭに依存しない。本発明は、ソフトウェア、例えば、デジタルコンピュータとして実行される、１セットのオブジェクトインスタンスからなる。しかしながら、本発明は、ハードウェア、またはハードウェアおよびソフトウェアの組み合わせにおいても完全に適用可能である。
図２０は、互いに関連する１セットのモジュラーアプリケーション エンティティを含む本発明のフレームワーク２００２を示す。例えば、モデリングオフィスアプリケーション(Modeling Office Application)２００４、ジェミニアプリケーション（Gemini Application）２００６、ジオステアリングアプリケーション（GeoSteering Application）２００８、High-Angle Well Evaluation Application２０１０、および１以上のリサーチプロトタイプモジュール２０１２が存在し、そのすべては、Common Model Builder２０１４と、図２０に示されているように機能する。Common Model Builder２０１４は、そのベースクラスにおいて図２０の他のモジュールのサービスに対してインタフェースを提供する。種々のアプリケーションは、Common Model Builderベースクラスを直接用いることもできるし、それらから誘発して特別な動作を実現することもできる。他のサービスはとしては、インタラクティブ幾何学的モデリングライブラリ（ＩＧＭ）２０１６およびGeoFrame のためのデータアクセスＡＰＩであるApplication Data Interface ADI２０２６がある。幾何学的クエリーインタフェース（ＧＱＩ）２０２０は、ＩＧＭ２０１６およびＡＤＩ２０２６の双方と操作する。ＩＧＭ２０１６とＧＱＩ２０２０の双方は、マテリアルプロパティエレメントＩＧＭ ＭＰ２０１８およびＧＱＩ ＭＰ２０２２をそれぞれ有している。図２０に示されているように、ＩＧＭ ＭＰ２０１８はＧＱＩ ＭＰ２０２２と操作する。最後に、グラフィックスライブラリ２０２４は、種々のモジュールによって用いられるデータのグラフィカルの表現を実行する。グラフィックスライブラリ２０２４は、図２０に記載のようにＩＧＭ２０１６と操作する。
【００８０】
図２１は、ＧＱＩマテリアルプロパティフレームワークのための１セットのオブジェクトを示す。特に、ＧＱＩマテリアルプロパティフレームワーク２０２２は、図２１に示されているように、cc_RefObjオブジェクト２１５０とIsA関係を有するgmMP２１０４を含む１セットのオブジェクトを含む。cc_RefObjオブジェクト２１５０とIsA関係を有するgmMPPolicyオブジェクト２１０６も存在する。図２１に示されているように、gmMPPolicy クラス２１０６と構成関係を有するgmMPTopologyTraversalStatesオブジェクト２１１８も存在する。
【００８１】
gmMPConstantオブジェクト２１２０は、gmMPオブジェクト２１０４とIsA関係を有する。図２１に示すように、gmUtilFtrBndPolicy オブジェクト２１０８は、gmMPGQIPolicyオブジェクト２１１０とIsA 関係を有する。図２１に示すように、gmSysPSPPolicyオブジェクト２１１２、gmSysRulesPolicyオブジェクト２１１４、およびgmMPVolumePropertyPolicyオブジェクト２１１６を含む他のいくつかのポリシーオブジェクトはすべて、gmMPPolicy オブジェクト ２１０６とIsA関係を有する。さらに、gmSysPSPPolicy オブジェクト２１１２は、gmSysPSPProperty オブジェクト２１２４とポリシー構成関係を有する。同様に、gmSysRulesPolicyオブジェクト２１１４は、gmSysRules オブジェクト２１２２とポリシー構成関係を有する。gmUtilFtrBndオブジェクト２１２６は、グループの最後であり、gmSysRules２１２２およびgmSysPSPPropertyオブジェクト ２１２４とともに、それは、gmMPConstant オブジェクト２１２０とIsA 関係を有する。図２１に示すように、gmMPVolumePropertyPolicyオブジェクト２１１６もgmMPConstant オブジェクト２１２０と構成関係を有する。最後に、GQI マテリアルプロパティフレームワーク２０２２も任意にgmutil_statusオブジェクト２１２８およびmv_vtオブジェクト２１３０およびgm_mp_atomsオブジェクト２１３２を含み、そのすべては、本発明の情報の保存および処理において対話および関係を促進する。
図２２は、ＧＱＩマテリアルプロパティフレームワーク２０２２とＩＧＭマテリアルプロパティフレームワーク２０１８との間の内部関係を示す。ＩＧＭマテリアルプロパティフレームワーク２０１８は、とりわけ、gmMPNameオブジェクト２２３０と構成ポリシー関係を有するgmMPNamePropertyPolicy オブジェクト２２２８を含む。gmMPIGMPropertyPolicyオブジェクト２２３４は、mbCeIIGMReference オブジェクト２２３２およびmbFtrGMReference オブジェクト２２３６と２つの別個の構成ポリシー関係をもつ。図２２に示すようにgmMPName オブジェクト２２３０、mbCellGMReferenceオブジェクト２２３２、mbFtrGMReferenceオブジェクト２２３６、ならびにvspQualityPropオブジェクト２２３８、vspTransverseIsotroppyオブジェクト２２４０およびfbFtrParametersオブジェクト２２４２は、すべてgmMPConstantオブジェクト２１２０とIsA関係を有する。別のサブセットのオブジェクト、特に、gmMPZオブジェクト２２１６、ならびにgmMPTimeオブジェクト２２１８およびgmMPDepthオブジェクト２２２０も存在する。後の２つのオブジェクトは、前のオブジェクト、すなわち、gmMPZ ２２１６とIsA関係を有する。また、このサブセットには、図２２に示すように、gmMP2DPolyオブジェクト２２２２、gmMP2DGrid オブジェクト２２２４、およびgmMP3DGridオブジェクト２２２６も存在する。gmMPZオブジェクト２２１６、ならびにgmMP2DPolyオブジェクト２２２２およびgmMP2DGridオブジェクト２２２４およびgmMP3DGridオブジェクト２２２６のすべては、gmMP オブジェクト２１０４とIsA関係を有する。ＩＧＭマテリアルプロパティフレームワーク２０１８に含まれる最後のオブジェクトのサブセットが存在する。すなわち、ＧＱＩマテリアルプロパティフレームワーク２０２２のgmMP オブジェクト２１０４とIsA関係を有するgmMPPolyXYZ オブジェクト２２０４が存在する。最後に、gmGradientPropオブジェクト２２０６とIsA関係を有する４つのオブジェクト、すなわち、vspDensPropオブジェクト２２０８、vspVelPPropオブジェクト２２１０、vspVelSPropオブジェクト２２１２およびgmResistivityPropオブジェクト２２１４が存在する。
【００８２】
図２３は、ＧＱＩマテリアルプロパティフレームワーク２０２２とＩＧＭマテリアルプロパティフレームワーク２０１８との間の関係を示す。特に、gmUtilFtrBndPolicyオブジェクト２１０８およびgmMPIGMPropertyPolicy オブジェクト２２３４が存在し、後者は、gmUtilFtrBndPolicyオブジェクト２１０８とIsA関係を有する。ＧＱＩマテリアルプロパティフレームワーク２０２２内には、gmMPVolumePropertyPolicyオブジェクト２１１６が存在する。図２３に示すように、ＩＧＭマテリアルプロパティフレームワーク２０１８のgmMPNamePropertyPolicyオブジェクト２２２８は、gmMPVolumePropertyPolicyオブジェクト２１１６とIsA関係を有する。同様に、図２３に示したように、gmMPVolumePropertyPolicyオブジェクト２１１６は、gmMPZオブジェクト２２１６およびgmGradientPropオブジェクト ２２０６と構成関係を有する。
【００８３】
図２４は、データ、好ましくは地震のデータの計算および表示を促進するための本発明のオブジェクトの配列を示す。図２４は、gqi_Core オブジェクト２０１８とIsA関係を有するgqi_AttachmentSiteオブジェクト２２０４を示す。図２４に示したように、gqi_AttachmentSite オブジェクト２２０４およびgqi_Coreオブジェクト２４０２の双方にmp XAttrオブジェクト２４０８および２４０６がそれぞれ存在する。
gqi_AttachmentSiteオブジェクト２２０４は、gqi_MetaProperty オブジェクト２４１２と操作関係を有する。同様に、gqi_Coreオブジェクト２４０２は、gqi_MetaProperty オブジェクト２４１０と操作関係を有する。図２４に示したように、gmMPオブジェクト２１０４は、gqi_MetaProperty２４１２およびgqi_MetaProperty２４１０の双方と0.. n表現の操作関係を有する。aqi_Parameterオブジェクト２４１４は、図２４に示すように、gmMP オブジェクト２１０４と0.. n表現の操作関係を有する（プロパティＤＩ）。gmMPPolicyオブジェクト２１０６は、gmMP オブジェクト２１０４と構成関係を有する。最後に、gmMPTopologyTraversalStateオブジェクト２４１６は、gmMPPolicy オブジェクト２１０６と操作関係を有する。
【００８４】
図２１および２２によれば、マテリアルプロパティフレームワーククラスは、４つのカテゴリーに分類できる。システムクラス（図２１の２１０４、２１０６、２１０８、２１１０、２１１２、２１１４、２１１８、２１２２、２１２４、２１２６、２１２８、２１３０および２１３２）は、ＧＱＩの操作(例えば、ポイント設定保存、特徴境界トラッキング)をサポートする。ＩＧＭクラス（図２２の２２３２、２２３４および２２３６）(例えば、特徴バックポインタ)は、システムクラスから分離しなければならない。なぜなら、それらはＩＧＭに依存しているからである。そのシステムクラスは、内部使用に厳密に限定されており、アプリケーションから導き出されたり、インスタンス化されるべきではない。アプリケーションサポートプロパティクラス（図２１および２２の２１２０、２２０４，２２０６、２２１６および２２２８）は、アタッチ、不変の保守および評価のためのアプリケーション（およびシステムコンポーネント）によって要求される基本的なメカニズムを実行する。それらは、アプリケーションから誘導されてもよいし、場合によっては、アプリケーションによって直接使用されてもよい。またシステムクラスは、これらのアプリケーションサポートクラスから誘導されることが好ましい。最後に、第４のセットのクラスである、アプリケーションクラス（図２２の２２０８、２２１０、２２１２、２２１４、２２１８、２２２０、２２２２、２２２４、２２２６、２２３０、２２３８、２２４０および２２４２）は、マテリアルプロパティの直接的な表現のためのアプリケーションによって直接使用されることが意図されている。
アブストラクトベースクラス(Abstract Base Classes)
図２１および２２のgmMPクラス２１０４は、マテリアルプロパティ表現クラスの基本的な動作を定義している。それは下記の性能を直接サポートする。
【００８５】
-  mp_classインスタンスのリード/ライト。リード/ライト、バリュータイプのスキャン/プリント/パック/アンパックの間、同じインスタンスを多数回参照するトラッキングを含む；
-  形状編集事象コールバックの方法を提供するアタッチメントポリシーの参照を維持（下記参照）；
-  リターンタイプ（evalDouble、evalPtr、evalString、evalOnPolyLine、evalMinMax）によるプロパティ評価のためのインスタンス方法；
-  プロパティ名（evalPropertyDouble、evalPropertyPtr、evalPropertyString、evalPropertyMinMax）によるプロパティ評価のための分類方法；
-  gmMP誘導クラスインスタンスをルックアップするための多種多様な方法；エバリュエータクラスおよびサイト、サイトおよびプロパティＤＩによる、サイト、プロパティコード（および任意に、プロパティクラスネーム）による；および
-  インデックスプロパティアタッチメントに使用されるプロパティＤＩのデフォルト構築。
gmMPクラス２１０４はまた、上記方法によって用いられる、誘導されたクラスのすべてのインスタンスを管理するため、および必要なルックアップ性能をサポートするために用いられるデータ構造を提供する。
gmMPPolicyアブストラクトベースクラス２１０６は、下記の行動を実行する：
-   所与のポリシーに一致するマテリアルプロパティが伝播されるべきサブセルを列挙する位相横断ジェネレータ（topology traversal generator）の参照を維持する
-  事象ハンドラーによって呼び出された形状編集ハンドらーおよびダミー仮想インスタンス方法。再設計システムにおいて、すべての可能なコールバックがサポートされなければならない。前の設計においては、下記のみがgmMPPolicy レベルにサポートされた： CellCopyCallback、CellDissociateCallback、CellSplitCallback、CellEmbedCallback、CellMergeCallback、CellDeleteCallback、FeatureAddChildCallback、FeatureRemoveChildCallback、FeatureReplaceChiIdCallback；
-  gmMPPolicyクラスを単体として実行する、それは、１つのインスタンスを取得および作成するために分類方法が提供されることを意味する。
図２１のgm_MPTopologyTraversalState２１１８は、横断の状態を維持しながら横断を行うための繰返し子のような、異なるプロパティ伝播ポリシーおよび行動の複数のジェネレータを実行する。サポートされているジェネレータは以下を含む：
-  generateNone：ダミージェネレータ；
-  generateHereOnly：リストのヘッド、後続なし：
-  generateHereAndChildren：オープンリストのヘッドに返る；次のサイトがコアもしくは特徴である場合、後続は次のサイトの子。または、次のサイトが３セルの場合下位のブリッジ；
-  generateHereAndChildrenNoSubs：オープンリストのヘッドに返る；次のサイトがあらゆるグループである場合、後続は次のサイトの子。下位は生成されない；
-  generateChildrenOf3Cell：サブブリッジおよび３セルの下位２セルのみを横断。３セル自身は除外；
-  generateHereAndPartialBridges：開始セルから１つ下のレベルの部分セルブリッジへ位相を横断。参照セル（reference_cell）が無し（ＮＵＬＬ）の場合、存在する階層を横断している。参照セルが無し（ＮＵＬＬ）でない場合、その方向が参照セルが部分ブリッジのそれとマッチする部分ブリッジを作成する。および
-  generateSupBridgesOf2Cell：参照セルが所与であり、参照セルの方向とマッチする部分ブリッジを見つけ出し、または生成する場合、２セルのサップブリッジを横断。
【００８６】
マテリアルプロパティ表現スキーム
形状属性、指定された「mp XATTR」図２４の２４０８および２４０６が、Shapesエンティティgqi_AttachmentSite２４０４とそれに対応するgqi_MetaPropertyインスタンス２４１２との間のマッピングを確立する。図２４からわかるように、より早いＣ構造ベースのスキームをgmMP インスタンス２１０４に対する直接参照と置き換えている。
本発明の好ましい態様において、コアはもはや事象ハンドラーを管理しない。従来のプラクティスにおいて、事象ハンドラーは独立していなかったことがわかっている。代わりに、事象ハンドラーは２〜３セットの関連するハンドラーにまとめられる。本発明によれば、従来技術の事象ハンドラーは、今gmMPPolicyインスタンス２１０６によって表現されている（図２１および２４）。gmMPPolicy２１０６は、持続的な状態を持たないので（再び参入した横断がサポートされるべき場合、横断状態は、多数回インスタンス化されなければならない）、事象ハンドラー仮想機能テーブルの数を最小化するために単体パターンを使用する。
本発明のエバリュエータは、gmMP２１０４(例えば、サブ機能)およびgmMP２１０４に導かれるクラスにおいて、仮想の機能として実行される。エバリュエータの数が増えるにしたがって、単体gmMPPolicy２１０６と類似のパターンを使用して、エバリュエータの数が増えているので、gmMP２１０４が誘導するクラスのためのエバリュエータを表現することもできる。しかしながら、gmMP２１０４インスタンスは、特別な「プロパティインスタンス」が伝播される、それぞれのアタッチメントサイトによって共有される。
【００８７】
本発明のオブジェクトの設計は、上記２つの行動を２つの新たな対のクラスに分離する。
ポイント設定保存
-  gmSysPSPProperty２１２４は、ポイント設定保存（「ＰＳＰ」）のためのアタッチメント意味論を持つ。gmSysPSPProperty２１２４のための最高レベルのアタッチメントサイトは、モデルコア自身である。１より多くのコアが存在する場合、多数のPropertyDI'sが生成され、それぞれのコアは分離されたアタッチメントを持つように考慮される。このプロパティのための他の持続する状態は存在しない。
-  図２１のgmSysPSPPolicy２１１２は、ＰＳＰのための伝播ポリシーおよび編集コールバックを行う。
ルール
-  図２１のgmSysRules２１２２は、 「コア」および「特徴」付ルールセットのためのアタッチメント意味論を持つ。これらのプロパティインスタンスの状態は、実際のルールアタッチメントとそれらのファイアリング状態(firing state)からなる。ルールの状態（フレームワークルールがアタッチされている。およびルール違反）がgmSysRulesプロパティインスタンス２１２２上での評価操作によって管理される。ファイアリングルールレゾルバは、gmSysRulesクラス２１２２によってのみ実行される異なる操作である。
-  gmSysRulePolicy２１１４は、伝播ポリシーを実行し、ルール検出器をファイアすることを含む、このルールのためのコールバックを編集する。
プロパティＤ１およびアタッチメント意味論
下記実施例に示すように、プロパティ(パラメータ)データ項目は、非常に特別なユーザが目視可能な意味論を提供する。指定されたプロパティ_コード、名前、変更子（およびLog Curve Naming変換をサポートする他の属性）がユーザ（または、ユーザのために機能するアプリケーション）によってアタッチされた。これらの属性によって、ユーザは、所与のサイトにおいて、多数の類似のプロパティから識別することが可能となる。
TopLevelSiteと呼ばれるパラメータを持つgmMPデータメンバー２１０４は、 は、最高レベルのアタッチメントがなされたオリジナルのサイトを保存する。gmMPインスタンス２１０４の属性（例えば、デフォルトまたは値）が変更されれば、変更に関連するサイトが最高レベルのサイトでないならば、gmMPインスタンス２１０４のコピーを作成しなければならない。
【００８８】
以下のポリシーがプロパティ（パラメータ）データ項目およびアタッチメントサイトの使用のために確立される：
１．プロパティのサイト（例えば、ボリューム）への、(他のトップレベルの割付のうち)すべての最高レベルの割付は、特有のプロパティＤ１およびgmMPサブクラスインスタンス２１０４に関連する。
２．gmMPPolicyクラス２１０６が割付を伝播するすべてのサイト（例えば、ボリュームおよび境界をなす２セルの間のブリッジ）は、同じプロパティＤ１および同じgmMPインスタンス２１０４を受け取る。所与のポリシーは、２つの方向からの伝播により同じ部位にアタッチされた同じコードの多数のプロパティインスタンスを生じさせることができる。多数のプロパティインスタンスがサポートされるので、これは問題ではない。
【００８９】
３.アプリケーションは、すでに同じコードのプロパティがアタッチされ、前記サブセルに伝播されているアタッチメントサイトのサブセルにプロパティをアタッチしてもよい。伝播されたアタッチメントは最高レベルではないが、明らかにアタッチされたプロパティインスタンスは最高レベルのアタッチメントであり、新たなプロパティＤ１が生成される。
４. 最高レベルのアタッチメントのみが削除され得る。プロパティポリシークラスが削除を伝播する信頼性はそれがアタッチメントを伝播するのと同様である。
有限状態機械
図１９は、本発明の有限状態機械を示す。特に、図１９にはボックス４９６で示された状態１、ボックス５００で示された状態２、ボックス５０２で示された状態３およびボックス４９８で示された状態４が存在する。状態１から状態４への遷移は、オブジェクトを操作５０４において見えないように設定することによるものである。状態１から状態２への遷移は、操作５０６においてグラフィックスを無効にすることによって達成される。状態２から状態３への遷移は、操作５１０においてオブジェクトを見えないように設定することによって達成される。状態４から状態３への遷移は、操作５０８においてグラフィックスを無効にすることによって達成される。状態４から状態１への遷移は、操作５１２においてグラフィックスオブジェクトを見えるように設定することによって達成される。状態２から状態１への遷移は、操作５１６においてグラフィックスを更新することによって達成される。最後に、操作５１４は、グラフィックスを更新され、かつ有効にし、図１９に示された状態３から状態１への遷移に対してオブジェクトを見えるように設定する。
コールバックスキーム
図２６は、本発明のコールバックスキームを示す。図２６のオブジェクトの配列は、本発明のコールバック局面を示す。
【００９０】
図２６に示すように、３つの主なオブジェクトが図２６の左側および中央部に存在する。上記のように、このオブジェクトは、幾何学、特徴およびセルの３つの一般的な局面を包含する。表記法上、一般的なカテゴリーのための頭文字を特別なオブジェクトの局面の前につけた。例えば、「ag」は、集合体（aggregate）を意味し、「gm」は、幾何学的モデリング（geometric modeling）を意味し、「oi」は、グラフィックスエンジンであるOPEN INVENTORを意味し、gqiは、幾何学的クエリーインタフェースを意味し、および、「X」は、幾何学的エンジンであるXOX-Shapesを意味する。
【００９１】
図２６によれば、まず、図２６に記載のag_Geometryオブジェクト２８４とIsA関係２８８にあるag_BaseClass２８０（図１１参照）が存在する。gm_Geometryオブジェクト２３２は、ag_Geometry オブジェクト２８４とhasA関係３２２にあり、gqi_Geometry_tオブジェクト２６０８と別の関係２６５８の関係にある。
【００９２】
図２６に示すように、集合体特徴オブジェクトag_Featurei２６３８および集合体セルオブジェクトag_Celli２６４４のインスタンスは、集合体幾何学的オブジェクトag_Geometry２８４と、それぞれIsA 関係２６４８および２６４９を通じて関連している。オープンインベンター特徴オブジェクトインスタンスoi_Featurei２６４０は、関連２６９９によってag_Featureiと効果を及ぼして関連している。同様に、オープンインベンターセルオブジェクトインスタンスoi_Celli２６４６は、関連２６９６を介してag_Celli２６４４と効果を及ぼして関連している。
【００９３】
幾何学的モデリングオブジェクトインスタンスgm_Featurei２６３６ およびgm_Celli２６４２は、それぞれ関連２６９８および２６９４を介してag_Featurei２６９８およびag_Cellj２６４４と効果を及ぼして連結している。さらに、gm_Featurei オブジェクト２６３６は、gm_Geometryオブジェクト２３２と関係２６３７を持っている。gm_Celljオブジェクトは、同様に、gm_Geometry オブジェクト２３２と関係２６４３を持っている。
【００９４】
図２６に示したように、X_Featurei オブジェクト２６１４が本発明によって提供される。X_Featurei オブジェクト２６１４は、gm_Featureiオブジェクト２６３６と関係２６９２を有する。X_Featureiオブジェクト２６１４は、xAttrFtrオブジェクト２６１２と関係２６６０を有し、その結果、gqi_Featureiオブジェクト２６１０と関係２６６２を有する。gqi_Featureiオブジェクト２６１０は、結果として、X_Featureiオブジェクト２６１４と関係２６６４を有する。図２６に示したように、X_CelIiオブジェクト２６１８は、X_Featureiオブジェクト２６１４と関係２６６４を有する（および、X_Featureiオブジェクト２６１４は、X_Celliオブジェクト２６１８と関係２６７６を有する）。
【００９５】
図２６に示したように、X_Featureiオブジェクト２６１４は、gqi_Geometry_tオブジェクト２６０８と関係２６１５を有する。X_Featureiオブジェクト２６１４もxAttrMPオブジェクト ２６２８と関係２６６６を有し、その結果、第１のgqi_MetaPropertyjインスタンス オブジェクト ２６２２と関係２６６８をう有する。gqi_MetaPropertyiオブジェクト２６２２の第１のインスタンスは特徴に対するものであり、２６８４とそれを関連付ける1セットのオブジェクト、例えば、オブジェクト２６２４および１以上のFtrRefiオブジェクト２６２６のインスタンス等を持つことができる。図２６に示したようにFtrRefiオブジェクト２６２６は、gmFeatureiオブジェクト２６３６との関係２６８６および２６８８によって本発明のコールバック機能を促進する。
【００９６】
セルオブジェクトは、gqiMetaPropertyオブジェクトのパラレルなインスタンス、すなわちGqi_MetaPropertyjオブジェクト２６３０を有している。本発明のこの局面において、X_Celljオブジェクト２６１８は、xAttrMPオブジェクト２６２０と関係２６８０がある。xAttrMPオブジェクト２６２０は、さらに図２６に示したように、gqi_MetaPropertyjオブジェクト ２６３０の第２のインスタンスと関係２６８２がある。gqi_MetaPropertyi２６２２の第１のインスタンスと同様、第２のgqi_MetaPropertyjオブジェクト２６３０ は、オブジェクト２６３２およびCellRefj オブジェクト２６３４等の種々のオブジェクトと関係２６７０がある。本発明のコールバック操作（セルのための）は、gm_Celljオブジェクト２６４２との関係２６７２および２６７４によって促進される。図２６に示したように、X_Featurei オブジェクト２６１４同様、X_Celljオブジェクト２６１８は、gqi_Geometry_tオブジェクト２６０８と関係２６１９と関係がある。最後に、X_Celljオブジェクト２６１８は、 X_Featureiオブジェクト２６１４との関係２６７８および２６７６を共有している。
本発明の操作
本発明は、プロセッサ、データ保存システム、少なくとも１つの入力装置および少なくとも１つの出力装置を含み、および限定されないが、コンピュータモニター、保存装置、またはプリントアウトを含むコンピュータ上で行われる、インタラクティブにモデルを編集するための方法として説明することができる。このモデルは、コンピュータ読み取り可能な媒体に保存されることが好ましい。モデル自体は少なくとも第１の表面を有する。とはいえ、典型的には多くの表面がモデリングされている。
実施例：ＰＳＰプロパティのアタッチ
本発明の構造の性能および柔軟性の一般的な指示は、以下の実施例によって明らかになるであろう。
図２５は、コアの不活性な特徴を追加することを示している。図２５に示したように、「登録されていない」状態の層位特徴（「Ｈ１」と称する）２５０１を、モデルコアＣ１（gqi_Coreオブジェクト）２５０２の分類されていない特徴に追加する。gmSysPSPProperty２５２０は、特徴にアタッチし、子およびそれらのサブセルに伝播するため、ＧＱＩの動作をモデリングすることが望ましい。したがって、追加子方法２５０３は、gqi_Feature２５０４（図２５において、そのインスタンスは「IAF1」と称される）の上で実行される。活性および不活性な特徴は、アタッチされたＰＳＰプロパティを持つので、そのため追加子方法２５０３は、追加子事象を誘起し、その結果Ｈ１のアタッチメントを引き起こすであろう。尚、ＰＳＰプロパティのアタッチメントは、追加子事象の結果として生じる。なぜなら、コアの活性および不活性の特徴は、ＰＯＰプロパティを持っているからである。
【００９７】
図２５に示したように、gqi_Featureオブジェクト２５０４から、グループの追加子方法２５０５を呼び出し、XOX Shapesオブジェクト２５０６に効果を及ぼす。XOX Shapesオブジェクト２５０６は、次に、図２５に示したように、パラメータＩＡＦ１、Ｈ１およびＩＡＦ１属性を持つクラスグループ追加子コールバック方法２５０７をgqi_metaPropertyオブジェクト２４１２上に呼び出す。gqi_MetaPropertyオブジェクト２４１２も、avlAttr変数をパラメータとしている属性取得ポインタ値方法２５１０をXOX ハンドルオブジェクト２５１２の標識されたIAFlattrに呼び出す。その後、図２５に示したように、追加子コールバック方法２５０９は、gqi_MetaPropertyオブジェクト２４１２から、IAFlmeta２５１４と呼ばれるgqi_MetaPropertyインスタンスに呼び出す。追加子コールバック方法２５０９は、ＩＡＦ１、ＨｌおよびＩＡＦｌ属性をそのパラメータとしている。gqiMetaProperty２４１２のIAFlmetaインスタンスは、２つの方法を呼び出す。まず、取得ポリシー方法２５１９がgmSysPSPPropertyオブジェクト２５２０のインスタンスからC1PSPインスタンスが呼び出される。第２に、図２５に示すように、IAF1、H1およびPIAF1属性をパラメータとして持つ追加子コールバック方法をgmSysPSPPolicyオブジェクト２５１８に呼び出す。最後に、方法２５２１へのアタッチは、gm_SysPSPPolicyオブジェクト２５１８をgmSysPSPPropertyオブジェクト２５２０のC1PSPインスタンスに呼び出すものである。
他の方法の記載
上記特別な実施例とは対照的に、本発明の方法のより一般的な記載を図２７〜４０に示す。これらの図に示された特別なステップを下記の明細書にしたがって説明する。
図２７によれば、この方法は通常ステップ２７０２から始まる。この方法は、ステップ２７０４において、表面特徴についてのデータを、データ保存システムに保存されているデータベースからローディングすることから始まる。次に、ステップ２７０６において、表面特徴についての集合体特徴を作成する。これは、ステップ２７０８において、集合体特徴から第１のグラフィックスオブジェクトを作成することを可能にする。その後、ステップ２７１０において、第１のグラフィックスオブジェクトをアプリケーションシーングラフに追加する。次に、ステップ２７１２において、集合体特徴について幾何学オブジェクトを作成する。次にモデルの第１の表面特徴を望ましいように編集する（ステップ２７１４）。編集が完了すれば（例えば、ユーザが編集モード選択する、または必要な時間が経過する）と、モデルのグラフィックスが選択的に更新される（ステップ２７１６）。この選択的な更新によって、種々の装置は、すべての更新および変更を再計算し、表示することから開放される。そうではなく、ユーザが経験することに影響を及ぼす更新のみが更新される。最後に、第１の表面特徴の第１のグラフィックスオブジェクトがアプリケーションシーングラフから除去される（ステップ２７１８）。
編集および更新
編集プロセス自身は、いくつかの工程からなる。図２８ａについて、まず、インタフェースを提供しなければならない（ステップ２８０４）。次に、ステップ２８０６において、インタフェースで操作するIGM を提供しなければならない。IGM で操作するGQI を含むことは有用である。これによってユーザは、インタフェースを介して、第２の表面特徴についての操作を選択することができる。このインタフェースは、ユーザの選択するIGMを含むように設計される（ステップ２８１０）。その操作自身は、GQIで呼び出される（ステップ２８１２）。 編集プロセス（ステップ２８１４）の間、操作を実行する間、GQIからIGMへのコールバックを少なくとも１回行う必要がある。そのコールバックは、モデルのグラフィックスオブジェクトを更新し、出力装置をリフレッシュするために用いられる。編集は、不規則な空間分割によって達成することができるが、他の編集技法を本発明とともに用いることもできる。編集が終了すると、典型的にはグラフィックスオブジェクトを作成することによって、グラフィックスの更新が始まる（ステップ２８１６）。
【００９８】
図２８ｂに示したように、本発明は、更新工程２８１６は、幾何学的および／または位相的のような定義された基準にしたがって変更されたグラフィックスのみを更新することを含む、特別な特徴をもっている。この更新工程はまた、目視可能な有限状態機械を参照することを含む（ステップ２８２２）。可視の有限状態機械は、操作を更新するグラフィックスオブジェクトおよび操作を更新するグラフィックスオブジェクトの目視可能性を管理することを助ける。目視可能な有限状態機械は、（ユーザの）目に見えるように指定されたグラフィックスオブジェクトのみを更新することができる。この目視可能な有限状態機械は、見えるとされたグラフィックスを指定し、また、グラフィックスオブジェクトの目視可能性について確認するために使用することができる。図２８ｂに示されているように、グラフィックスオブジェクトが有効であれば（ステップ２８２４）、グラフィックスオブジェクトは、シーングラフに追加することができる（ステップ２８２６）。そうでない場合は、グラフィックスオブジェクトは、更新されて、シーングラフに追加することができる（ステップ２８２８）。
【００９９】
更新プロセスは、いくつかの工程を含むことができる。例えば、更新は、図２８ｂのステップ２８５４〜２８５６に示したように、シーングラフにおけるそれぞれの特徴の状態を確認することを含んでもよい。通常、この特徴のグラフィックスが有効であれば、特徴のグラフィックスオブジェクトは、更新されない（ステップ２８６０）。しかしながら、図２８ｃに示されているように、特徴のグラフィックスが無効であれば（ステップ２８５４）、かつ、幾何学的が有効であれば（ステップ２８５６）、特徴のグラフィックスオブジェクトを更新する（ステップ２８６２）。
更新の別の形態は、図２８ｄに示されているように、シーングラフにおけるそれぞれのセルの状態を確認することを含むことができる。このようにすれば、セルのグラフィックスが有効であれば（ステップ２８７２）、セルのグラフィックスオブジェクトは更新されない（ステップ２８７８）。セルのグラフィックスが無効であり、かつ、セルの幾何学的が有効であれば（ステップ２８７６）セルのグラフィックスオブジェクトは更新される（ステップ２８８０）。
【０１００】
本発明の方法はまた、第２の表面特徴がモデルに含まれていない状況を包含することができるが、第２の特徴は、もちろんモデルに含まれることができる。
グラフィックスの作成
本発明の方法はまた、図２９に示された集合体特徴のような種々のエンティティのグラフィックスの作成を含む。典型的には、このプロセスは、モデルの全ての関連する表面特徴を取得することを含む（ステップ２９０４）。次に、例えば、関連する表面のそれぞれについて、表面特徴は、グラフィックスオブジェクトを持ち（ステップ２９０５）、次にグラフィックスオブジェクトが更新される（ステップ２９０６）。そうでない場合、表面特徴のグラフィックスオブジェクトが作成される（ステップ２９０８）。その後、表面特徴のグラフィックスオブジェクトが表面シーングラフルートノードに追加され（ステップ２９１０）、図２９に示された方法は、通常ステップ２９１２において終了する。
先の段落で概略を示した工程に加えて、図３０に示したように、他の工程も任意に達成することができる。例えば、表面特徴のための全ての二次元的なセルの集合体オブジェクトを取得してもよい（ステップ３００４）。次に、セルのそれぞれの集合体オブジェクトが少なくとも１つの有効なグラフィックスオブジェクトを取得するように助長することができる（ステップ３００６）。これが一旦完結すれば、表面特徴のグラフィックスオブジェクトを有効にすることができ（ステップ３００８）、この方法は、通常ステップ３０１０において終了する。
直前で概略を示した方法には、図３１で示したように、更に多くのステップを行ってもよい。例えば、セルの有効なグラフィックスオブジェクトを取得する工程は、セルのグラフィックスオブジェクトが存在しないかどうかを判定する確認を含むことができる（ステップ３１０４）。グラフィックスオブジェクトが存在しない場合、セルのグラフィックスオブジェクトが作成され、有効とされる（ステップ３１０６）。セルのグラフィックスオブジェクトが存在せず、有効でない場合、セルのグラフィックスオブジェクトは更新され、有効とされる（ステップ３１０８）。
【０１０１】
あるいは、グラフィックスを作成するための本発明の方法は、図３２に示すように、モデルから少なくとも１つのボリュームセルを作成することを含む。この代替的な方法は、モデルにおいて、少なくとも１つの関連する活性なボリュームセルを取得することを含む（ステップ３２０４）。取得後、二次元的なセルの全てのグラフィックスオブジェクトが作成されたことを確認をすることができる（ステップ３２０６）。次に、二次元的なセルに、集合体を取得することができる（ステップ３２０８）。二次元的なセル集合体が存在しない場合、新たな集合体を作成することができる（ステップ３２１０）。その後、それぞれの二次元的なセルについて、それが有効なグラフィックスを持つかどうかを確認する（ステップ３２１２）。その後、各ボリュームセルのグラフィックスオブジェクトを作成することができる（ステップ３２１４）。次に、各ボリュームセルについて、ボリュームセルのそれぞれの二次元的なセルのグラフィックスコンテンツを、ボリュームセルのグラフィックスオブジェクトのサブシーングラフに追加する（ステップ３２１４）。最後に、各ボリュームセルのそれぞれについて、ボリュームシーングラフルートノードにグラフィックスオブジェクトを追加する（ステップ３２１６）。さらに、二次元的なセルを図示した、カラーマテリアルなしの、グラフィックスコンテンツのインスタンテーションは、二次元的なセルを子とした表面特徴のグラフィックスオブジェクトを含む少なくとも１つのシーングラフ、ならびに、グラフィックスオブジェクトを含む、１つのボリュームセルまたはそれぞれの境界を二次元的なセルとして有する２つのボリュームセルを持つ少なくとも１つのシーングラフによって共有されることができる。
コールバック
本発明では、オブジェクトフレームワーク内に広範にコールバックを使用する。例えば、コールバックは、集合体特徴の変化をもたらす。集合体特徴エレメントは、一貫性のある有限状態機械であって、その結果、コールバックが効率的に容易化されることが好ましい。一貫性のある有限状態機械は、幾何学的とグラフィックスの間の一貫性を管理することもまた好ましい。コールバックは、集合体特徴のグラフィックスオブジェクトを無効にし、集合体特徴の幾何学を有効にするために有用である。例えば、コールバックがボリュームオブジェクトのためのものである場合、ボリューム特徴のために特別のコールバックが使用される。層でない場合、表面特徴の編集コールバックが行われる。
コールバックは、多くの方法で行うことができる。しかしながら、通常、コールバックは１セットの１以上のオブジェクトを用いて達成される。通常、そのオブジェクトのセットは、第１の幾何学モデラー特徴オブジェクト；幾何学モデラー特徴オブジェクトに含まれた変化した幾何学オブジェクト；変化された幾何学オブジェクトに効果を及ぼして関連している第１のメタ‐プロパティ属性オブジェクト；第１のメタ-プロパティ属性と関連する第１のメタ-プロパティオブジェクト；幾何学的モデラー特徴オブジェクトと関連する第２のメタ-プロパティ属性オブジェクト；および第２のメタ-プロパティ属性オブジェクトと関連する第２のメタ-プロパティオブジェクトを含む。
第１のメタ-プロパティオブジェクト自身は、ポイント設定保存プロパティオブジェクト；ポイント設定保存プロパティポリシーオブジェクト；セルバックポインタプロパティオブジェクト；集合体バックポインタプロパティポリシーオブジェクト；コールバックポインタオブジェクトと関連する幾何学的セルオブジェクト；幾何学的セルオブジェクトと関連する集合体セルオブジェクト；および集合体セルオブジェクトと関連する表示セルグラフィックスオブジェクトのような１セットのオブジェクトを含む。
第２のメタ-プロパティ属性オブジェクト自身は、１セットのオブジェクトを持ち、第２のポイント設定保存プロパティオブジェクト；第２のポイント設定保存プロパティポリシーオブジェクト；特徴バックポインタプロパティオブジェクト；第２の集合体バックポインタプロパティポリシーオブジェクト；特徴バックポインタプロパティオブジェクトと関連する幾何学的特徴オブジェクト; 幾何学的 特徴オブジェクトと関連する集合体特徴オブジェクト;および集合体特徴オブジェクトと関連する表示特徴グラフィックスオブジェクトとを含む。
本発明のコールバックは、種々の構成および環境において現われる。例えば、図３３は、幾何学的モデラー インタフェースを用いたメタ-プロパティ分割コールバック分類方法を登録する（ステップ３３０４）ことを含むボリューム特徴の編集コールバックを示す。幾何学的モデラーインタフェースは、ボリューム分割事象が生じたときに呼び出されることが意図されている。その後、ステップ３３０６において、第１のメタ-プロパティ属性がボリューム特徴によって限定される、少なくとも１つのボリュームオブジェクトにアタッチされる。その後、ステップ３３０８において、コールバックは、第１のボリューム オブジェクト、第１のボリューム オブジェクトによって、第１のボリュームオブジェクトと、第１のメタ-プロパティ属性に対する変更によって影響を受ける第２のボリュームとを指定する幾何学的モデラーインタフェースによって受け取られる。次にポインタ値が第１のメタ-プロパティ属性から取得され、ポインタ値をメタ-プロパティ オブジェクトの位置を突き止めるために逆参照することを可能にする（ステップ３３１０）。分割コールバックは、第１のメタ-プロパティ属性、第１のボリュームオブジェクトおよび第２のボリュームオブジェクトを持つ第１のメタ-プロパティ オブジェクトにおいて、分割コールバックが呼び出される。この最後のステップ自身は、第１のポイント設定プロパティインスタンス（ステップ３３１２）およびプロパティインスタンスからの第１のポイント設定保存ポリシーインスタンス（ステップ３３１４）を取得すること、並びに、ポイント設定保存プロパティインスタンス第１のボリュームオブジェクトおよび第２のボリュームオブジェクトをもつポイント設定保存プロパティポリシーインスタンスに対する第１のコールバックを開始することを含む。この最後のサブステップ自身は、第１のボリュームオブジェクトの、少なくとも１つの含有特徴を取得すること（ステップ３３１６）、および含有特徴および第２のボリュームオブジェクトを持つ幾何学的モデラーインタフェースにおいて特徴追加子更新を開始することを含む（ステップ３３１８）。次に、集合体バックポインタプロパティポリシーインスタンスがセルバックポインタプロパティインスタンスから得られ、その結果、集合体バックポインタプロパティインスタンスによって第２の分割コールバックが開始されるようにセルバックポインタプロパティを取得する。後のコールバック自身は、セルバックポインタプロパティインスタンスからボリューム幾何学的セルオブジェクトを取得すること（ステップ３３２０）、およびボリューム幾何学的セルオブジェクトに対するセル分割コールを開始することを含む。後のサブステップは、ボリューム幾何学的セルオブジェクトのボリュームセル集合体パトロンに対するコールを開始し、第１のボリュームのグラフィックスを無効にすることを含むことができる（ステップ３３２２）。
図３４は、特徴追加子事象が生じたときに呼び出される幾何学的モデラーインタフェースでのメタ-プロパティ追加子コールバック分類方法を登録することを含む（ステップ３４０３）ボリューム特徴の特徴追加子コールバックを行うことを示す。これは、第２のメタ-プロパティ属性インスタンスをボリューム特徴にアタッチすること（ステップ３４０６）；および幾何学的モデラーインタフェースから、ボリューム特徴と、ボリュームオブジェクトと、第２のメタ-プロパティ属性とを指定する追加子コールバックを受け取ること（ステップ３４０８）を含むことができる。次にステップ３４１０において、第２のメタ-プロパティ属性からポインタ値が取得され、第２のメタ-プロパティオブジェクトの位置を突き止めるためにポインタ値が逆参照される。追加子コールバックは、第２のメタ-プロパティオブジェクトにおいて呼び出される。後のステップは、第2のポイント設定保存プロパティインスタンスを取得すること（ステップ３４１２）；第2のポイント設定保存プロパティインスタンスから第2のポイント設定保存プロパティポリシーインスタンスを取得すること（ステップ３４１４）；およびボリューム特徴およびボリューム幾何学的オブジェクトを持つ第２のポイント設定ポリシーオブジェクトの追加子コールバック方法を開始することを含む。後のサブステップ自身は、ポイント設定保存プロパティをボリュームセルにアタッチすること（ステップ３４１６）；特徴バックポインタプロパティインスタンスを取得すること（ステップ３４１８）；および特徴バックポインタプロパティインスタンスの特徴から第２の集合体バックポインタプロパティポリシーインスタンスを取得すること；およびボリューム特徴、ボリューム幾何学的オブジェクトおよびボリューム特徴バックポインタプロパティを持つ、第２の集合体バックポインタプロパティインスタンスの追加子コールバック方法を開始することを含む。後のサブステップ自身は、特徴バックポインタプロパティインスタンスによって確認される、ボリューム特徴幾何学的オブジェクトに対する追加子通知方法を開始することを含む。後のサブステップ自身は、ボリューム特徴オブジェクトの幾何学を有効にするために、ボリューム特徴オブジェクトのボリューム特徴集合体パトロンに対するコールを開始すること（ステップ３４２０）；およびボリューム特徴オブジェクトのグラフィックスを無効にするために、ボリューム 特徴オブジェクトのボリューム特徴集合体パトロンに対するコールを開始すること（ステップ３４２２）を含む。
本発明の更に別の方法は、表面特徴の編集コールバックを行うことを含む。この方法のこの局面は、表面分割事象が生じたときに呼び出されるべき幾何学的モデラーインタフェースで、メタ-プロパティ分割コールバック分類方法を登録すること（ステップ３５０４）；表面特徴によって限定されるメタ-プロパティ属性を少なくとも１つの表面オブジェクトにアタッチすること（ステップ３５０６）；幾何学的モデラーインタフェースから、表面オブジェクトと、第２の表面と、メタ-プロパティ属性とを指定するコールバックを受け取ること（ステップ３５０８）；メタ-プロパティ属性からポインタ値を取得し、メタ-プロパティオブジェクトの位置を突き止めるためにポインタ値を逆参照すること（ステップ３５１０）；第１のメタ-プロパティオブジェクトにおいて、第１の表面オブジェクト、第２の表面オブジェクト及び第１のメタ-プロパティ属性自身を持つ分割コールバックを呼び出すことを含む。後のステップは、ポイント設定保存プロパティインスタンスを取得すること（ステップ３５１２）；プロパティインスタンスからポイント設定保存ポリシーインスタンスを取得すること（ステップ３５１４）；およびポイント設定保存プロパティインスタンス、第１の表面オブジェクト、および第２の表面オブジェクトを持つ、ポイント設定保存ポリシーインスタンスに対する第１の分割コールバックを開始することを含む。後のサブステップ自身は、第１の表面オブジェクトのための少なくとも１つの含有特徴を取得すること（ステップ３５１６）；および含有特徴および第２の表面オブジェクトを持つ、幾何学的モデラーインタフェース上で特徴追加更新を開始すること（ステップ３５１８）；セルバックポインタプロパティインスタンスを取得すること（ステップ３５２０）；セルバックポインタプロパティインスタンスから集合体バックポインタプロパティポリシーインスタンスを取得すること（ステップ３５２２）；およびセルバックポインタプロパティインスタンスを持つ第２の分割コールバックを集合体バックポインタプロパティポリシーインスタンスに対して開始することを含む。後のサブステップは、セルバックポインタプロパティインスタンスから表面幾何学的セルオブジェクトを取得すること（ステップ３５２４）；および表面幾何学的セルオブジェクトに対するセル分割コールを開始することを含む。後のサブステップは、表面幾何学的セルオブジェクトの表面セル集合体パトロンへのコールを開始し、第１の表面のグラフィックスを無効にすること （ステップ３５２６）を含む。
図３６は、特徴追加コールバックを行う工程（先行するパラグラフに記載）は、幾何学的モデラーインタフェースでメタ-プロパティ追加子コールバック分類方法を登録して、特徴追加子事象が生じたときに呼び出されるようにすること（ステップ３６０４）；第２のメタ-プロパティ属性インスタンスを表面特徴にアタッチすること（ステップ３６０６）；幾何学的モデラーインタフェースから、表面特徴と、表面オブジェクトと、第２のメタ-プロパティ属性とを指定する追加子コールバックを受け取ること（ステップ３６０８）；第2のメタ-プロパティ属性からポインタ値を取得し、第２のメタ-プロパティオブジェクトの位置を突き止めるためにポインタ値を逆参照すること（ステップ３６１０）；および第２のメタ-プロパティオブジェクトにおいて追加子コールバックを呼び出すことを含む。後のサブステップ自身は、第2のポイント設定保存プロパティインスタンスを取得すること（ステップ３６１２）；第2のポイント設定保存プロパティインスタンスから、第2のポイント設定保存プロパティポリシーインスタンスを取得すること（ステップ３６１４）；および、表面特徴および表面幾何学的オブジェクトをもつ第２のポイント設定ポリシーオブジェクトの追加子コールバック方法を開始することを含む。後のサブステップ自身は、ポイント設定保存プロパティをボリュームセルにアタッチすること（ステップ３６１６）；特徴バックポインタプロパティインスタンスを取得すること（ステップ３６１８）；第2の集合体バックポインタプロパティポリシーインスタンスを特徴バックポインタプロパティインスタンスから取得すること（ステップ３６２０）、および表面特徴、表面幾何学的オブジェクトおよび表面特徴バックポインタプロパティをもつ第２の集合体バックポインタプロパティインスタンスの子コールバック方法を開始することを含む。後のサブステップ自身は、表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴オブジェクトの幾何学を有効にすること（ステップ３６２２）；および表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴オブジェクトのグラフィックスを無効にすること（ステップ３６２４）を含む。
コールバックは、本発明の種々のオブジェクトの多数の効果を持つことができる。例えば、コールバックを行うことによって、セルの状態を変化させることができる。この状態の変化は、一貫性のある有限状態機械に記録されることができる。
本発明の方法の別の局面は、図３７に示されているようにボリューム特徴の編集コールバックを行うことである。本発明のこの局面は、ボリュームの併合事象が生じたときに呼び出される幾何学的モデラーインタフェースでメタ-プロパティ併合コールバック分類方法を登録すること（ステップ３７０４）； メタ-プロパティ属性をボリューム特徴によって限定される少なくとも１つのボリュームオブジェクトにアタッチすること（ステップ３７０６）；幾何学的モデラーインタフェースから、ボリュームオブジェクトと、第２のボリュームと、ボリュームオブジェクトに以前は結合していて除去された表面オブジェクトと、メタ-プロパティ属性とを指定するコールバックを受け取ること（ステップ３７０８）；幾何学的モデル属性からポインタ値を取得すること；メタ-プロパティオブジェクトの位置を突き止めるためにポインタ値を逆参照すること（ステップ３７１０）；および第１のメタ-プロパティオブジェクトに併合コールバックを呼び出すことを含む。後のサブステップ自身は、ポイント設定保存プロパティインスタンスを取得すること（ステップ３７１２）および、プロパティインスタンスからポイント設定保存ポリシーインスタンスを取得すること（ステップ３７１４）；およびポイント設定保存プロパティ、第１のボリューム オブジェクト、第２のボリュームオブジェクトおよび表面オブジェクトを持つ、ポイント設定保存ポリシーインスタンスに対する併合コールバックを開始することを含む。後のサブステップ自身は、ボリュームオブジェクトのために少なくとも１つの含有特徴を取得すること（ステップ３７１６）；および含有特徴及び第２のボリュームオブジェクトを持つ幾何学的モデラーインタフェースにおいて特徴除去子更新を開始すること（ステップ３７１８）；そして次にセルバックポインタプロパティインスタンスがステップ３７１９において得られる。次にステップ３７２０において、集合体バックポインタプロパティポリシーインスタンスが、セルバックポインタプロパティインスタンスから得られる；および第２の併合コールバックが、セルバックポインタプロパティインスタンス、第１のボリュームオブジェクト、第２のボリュームオブジェクト、および表面オブジェクトを持つ集合体バックポインタプロパティポリシーインスタンスに対して開始される。後のサブステップ自身は、セルバックポインタプロパティインスタンスからボリューム幾何学的セルオブジェクトを取得すること（ステップ３７２２）およびボリューム幾何学的セルオブジェクトに対するセル併合コール開始することを含む。後のサブステップ自身は、ボリューム幾何学的セルオブジェクトのボリュームセル集合体パトロンに対するコールを開始して、第１のボリュームのグラフィックスを無効にすることを含む（ステップ３７２４）。
図３８は、ボリューム特徴自身において編集コールバックを行うための方法を示し、任意に子編集コールバックの除去を含む。後のサブ方法は、特徴除去子事象が生じたときに呼び出される幾何学的モデラーインタフェースでメタ-プロパティ除去子コールバック分類方法を登録すこと（ステップ３８０４）；第２のメタ-プロパティ属性インスタンスをボリューム特徴にアタッチすること（ステップ３８０６）；幾何学的モデラーインタフェースから、ボリューム特徴と、ボリュームオブジェクトと、第２のメタ-プロパティ属性とを指定する除去子コールバックを受け取ること（ステップ３８０８）；第２のメタ-プロパティ属性からポインタ値を取得する；第２のメタ-プロパティオブジェクトの位置を突き止めるためにポインタ値を逆参照すること（ステップ３８１０）；および第２のメタ-プロパティオブジェクトにおいて除去子コールバックを呼び出すことを含む。後のサブステップは、第２のポイント設定保存プロパティインスタンスを取得すること（ステップ３８１２）；第２のポイント設定保存プロパティインスタンスから、第２のポイント設定保存プロパティポリシーインスタンスを取得すること（ステップ３８１４）；ボリューム特徴およびボリュームボリューム幾何学的オブジェクトを持つ、第２のポイント設定ポリシーオブジェクト除去子コールバック方法を開始することを含む。後のサブステップは、ボリュームセルからポイント設定保存プロパティを除去すること（ステップ３８１６）；特徴バックポインタプロパティインスタンスを取得すること（ステップ３８１８）；特徴バックポインタ プロパティインスタンスから第２の集合体バックポインタプロパティポリシーインスタンスを取得する（ステップ３８２０）；およびボリューム特徴、ボリューム幾何学的オブジェクトおよびボリューム特徴バックポインタプロパティを持つ、第２の集合体バックポインタプロパティポリシーインスタンスの除去子コールバック方法を開始することを含む。後のサブステップは、ボリューム特徴オブジェクトのボリューム特徴集合体パトロンへのコールを開始し、ボリューム特徴オブジェクトの幾何学を有効にすること（ステップ３８２２）；およびボリューム特徴オブジェクトのボリューム特徴集合体パトロンへのコールを開始し、ボリューム特徴オブジェクトのグラフィックスを無効にすること（ステップ３８２４）を含む。
図３９は、表面ボリュームで編集コールバックを行うことは、ボリューム特徴（上記）と同じ類似の方法であることを示している。具体的に、表面特徴の編集コールバックを行う工程は、表面併合事象が生じたときに呼び出されるべき幾何学的モデラーインタフェースでメタ-プロパティ併合コールバック分類方法を登録すること（ステップ３９０４）；第１のメタ-プロパティ属性を、表面特徴によって限定される少なくとも１つの表面オブジェクトにアタッチすること（ステップ３９０６）；幾何学的モデラーインタフェースから、表面オブジェクトと、第２の表面オブジェクトと、表面オブジェクトに以前は結合していて除去された曲面オブジェクトと、メタ-プロパティ属性とを指定するコールバックを受け取ること（ステップ３９０８）；幾何学的モデル属性からポインタ値を取得し、メタ-プロパティオブジェクトの位置を突き止めるために、ポインタ値を逆参照すること（ステップ３９１０）;および第１のメタ-プロパティオブジェクト中に併合コールバックを呼び出すことを含む。後のサブステップは、ポイント設定保存プロパティインスタンスを取得すること（ステップ３９１２）；プロパティインスタンスから、第１のポイント設定保存ポリシーインスタンスを取得すること（ステップ３９１４）；およびポイント設定保存プロパティインスタンス、第１の表面オブジェクト、第２の表面オブジェクトおよび曲線オブジェクトを持つ、ポイント設定保存ポリシーインスタンスに対して、第１の併合コールバックを開始することを含む。後のサブステップは、表面オブジェクトのために少なくとも１つの含有特徴を取得すること（ステップ３９１６）；および含有特徴および第２の表面オブジェクトを持つ幾何学的モデラーインタフェースにおいて、特徴除去子更新を開始すること（ステップ３９１８）；集合体バックポインタプロパティポリシーインスタンスをセルバックポインタプロパティインスタンスから取得すること（ステップ３９２０）；およびポイント設定保存プロパティインスタンス、第１の表面オブジェクト、第２の表面オブジェクトおよび曲線オブジェクトを持つ、集合体バックポインタプロパティポリシーインスタンスに対する第２の併合コールバックを開始することを含む。後のサブステップは、セルバックポインタプロパティインスタンスから幾何学的セルオブジェクトを取得すること（ステップ３９２２）；および表面幾何学的セルオブジェクトに対するセル併合コールを開始することを含む。後のサブステップは、表面幾何学的セルのセル集合体パトロンに対するコールを開始し、第１の表面のグラフィックスを無効にすること（ステップ３９２４）を含む。
最後に、図４０は、除去子事象が生じたときに呼び出されるべき、幾何学的モデラーインタフェースでメタ-プロパティ除去子コールバック分類方法を登録することを含む、表面特徴のための特徴除去コールバックを行う工程を示し（ステップ４００４）、第２のメタ-プロパティ属性インスタンスを表面特徴にアタッチすること（ステップ４００６）；表面特徴と、表面オブジェクトと、第２のメタ-プロパティ属性とを指定する前記除去子コールバックを幾何学的モデラーインタフェースから受け取ること（ステップ４００８）；第２のメタ-プロパティ属性からポインタ値を取得するし、第２のメタ-プロパティ オブジェクトの位置を突き止めるためにポインタ値を逆参照すること（ステップ４０１０；および第２のメタ-プロパティ属性、表面特徴及び表面幾何学的オブジェクトを持つ第２のメタ-プロパティオブジェクト中の除去子コールバックを呼び出すことを含む。後のサブステップは、第２のポイント設定保存プロパティインスタンスを取得すること（ステップ４０１２）；第２のポイント設定保存プロパティインスタンスから第２のポイント設定保存プロパティポリシーインスタンスを取得すること（ステップ４０１４）；および表面特徴および表面幾何学的オブジェクトを持つ、第２のポイント設定ポリシーオブジェクトオブジェクト中の除去子コールバックを開始することを含む。後のサブステップ自身は、表面セルからポイント設定保存プロパティを除去すること（ステップ４０１６）；特徴バックポインタ プロパティインスタンスを取得すること（ステップ４０１８）；特徴バックポインタプロパティインスタンスから第２の集合体バック ポインタ プロパティ ポリシー インスタンスを取得すること（ステップ４０２０）；および表面幾何学的オブジェクトおよび表面特徴ポインタプロパティで第２の集合体バックポインタプロパティポリシーインスタンスの除去子コールバック方法を開始することを含む。 後のサブステップ自身は、バックポインタプロパティインスタンスによって確認される表面特徴幾何学的オブジェクトに対して、除去子通知コールを開始することを含む。後のサブステップ自身は、表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴オブジェクトの幾何学を有効にすること（ステップ４０２２）；および表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴オブジェクトのグラフィックスを無効にすること（４０２４）を含む。
【０１０２】
本発明は、したがって、目的を実行し、目的および上記の結果および固有の利点を達成するために、適応される。本発明は、特定の態様に言及して描写、記載および定義されているが、そのような言及は、本発明を限定することを意図するものではなく、そのような限定があると推察されるべきものではない。本発明は、当該技術分野の当業者にとって生じるであろう、相当量の形式的および/または機能的な改変、交代（alternation）、変更および等価が可能である。描写および記載された本発明の態様は例示に過ぎず、本発明の範囲を網羅するものではない。したがって、本発明は、すべての点について均等を認識した上で、添付の請求の範囲の精神および範囲によってのみ限定されるよう意図されている。
【図面の簡単な説明】
【０１０３】
本発明およびその利点の理解をより完全にするために、以下においては、添付の図面と一致する符号を付けて説明する。
【図１】ブロック図である。
【図２】モデリングされる項目を示す図である。
【図３Ａ】モデリングプロセスにおける保存を説明する図である。
【図３Ｂ】モデリングプロセスにおける保存を説明する図である。
【図３Ｃ】モデリングプロセスにおける保存を説明する図である。
【図３Ｄ】モデリングプロセスにおける保存を説明する図である。
【図４Ａ】モデリングプロセスにおける保存を説明する図である。
【図４Ｂ】モデリングプロセスにおける保存を説明する図である。
【図５Ａ】モデリングされる項目を示す図である。
【図５Ｂ】モデリングされる項目を示す図である。
【図５Ｃ】幾何学的モデルを示す図である。
【図６】グラフィックスモデルを示す図である。
【図７】ブロック図である。
【図８】それぞれオブジェクトの関係を示す図である。
【図９】それぞれオブジェクトの関係を示す図である。
【図１０】それぞれオブジェクトの関係を示す図である。
【図１１】それぞれオブジェクトの関係を示す図である。
【図１２】それぞれオブジェクトの関係を示す図である。
【図１３】それぞれオブジェクトの関係を示す図である。
【図１４】それぞれオブジェクトの関係を示す図である。
【図１５】状態を示す図である。
【図１６】本発明の２つのボリュームおよび１つの表面セルおよびそれらのそれぞれノードを示すブロック図である。
【図１７】共通の面を備えた、本発明の２つのボリュームおよび１つの表面セルおよびそれらのそれぞれのノードを示すブロック図である。
【図１８Ａ】表面とボリューム特徴との間の対応性、および本発明のノードを示すブロック図である。
【図１８Ｂ】表面とボリューム特徴との間の対応性、および本発明のノードを示すブロック図である。
【図１９】本発明の状態図である。
【図２０】本発明の主なフレームワークのブロック図である。
【図２１】本発明の種々のオブジェクトの関係を示すブロック図である。
【図２２】本発明の種々のオブジェクトの関係を示すブロック図である。
【図２３】本発明の種々のオブジェクトの関係を示すブロック図である。
【図２４】本発明の種々のオブジェクトの関係を示すブロック図である。
【図２５】本発明の種々のオブジェクトの関係を示すブロック図である。
【図２６】本発明の種々のオブジェクトの関係を示すブロック図である。
【図２７】本発明の種々の方法を示すブロック図である。
【図２８Ａ】本発明の種々の方法を示すブロック図である。
【図２８Ｂ】本発明の種々の方法を示すブロック図である。
【図２８Ｃ】本発明の種々の方法を示すブロック図である。
【図２８Ｄ】本発明の種々の方法を示すブロック図である。
【図２９】本発明の種々の方法を示すブロック図である。
【図３０】本発明の種々の方法を示すブロック図である。
【図３１】本発明の種々の方法を示すブロック図である。
【図３２】本発明の種々の方法を示すブロック図である。
【図３３】本発明の種々の方法を示すブロック図である。
【図３４】本発明の種々の方法を示すブロック図である。
【図３５】本発明の種々の方法を示すブロック図である。
【図３６】本発明の種々の方法を示すブロック図である。
【図３７】本発明の種々の方法を示すブロック図である。
【図３８】本発明の種々の方法を示すブロック図である。
【図３９】本発明の種々の方法を示すブロック図である。
【図４０】本発明の種々の方法を示すブロック図である。
【図１】
2004537817.tif 000003
【図２】
2004537817.tif 000004
【図３Ａ】
2004537817.tif 000005
【図３Ｂ】
2004537817.tif 000006
【図３Ｃ】
2004537817.tif 000007
【図３Ｄ】
2004537817.tif 000008
【図４Ａ】
2004537817.tif 000009
【図４Ｂ】
2004537817.tif 000010
【図５Ａ】
2004537817.tif 000011
【図５Ｂ】
2004537817.tif 000012
【図５Ｃ】
2004537817.tif 000013
【図６】
2004537817.tif 000014
【図７】
2004537817.tif 000015
【図８】
2004537817.tif 000016
【図９】
2004537817.tif 000017
【図１０】
2004537817.tif 000018
【図１１】
2004537817.tif 000019
【図１２】
2004537817.tif 000020
【図１３】
2004537817.tif 000021
【図１４】
2004537817.tif 000022
【図１５】
2004537817.tif 000023
【図１６】
2004537817.tif 000024
【図１７】
2004537817.tif 000025
【図１８Ａ】
2004537817.tif 000026
【図１８Ｂ】
2004537817.tif 000027
【図１９】
2004537817.tif 000028
【図２０】
2004537817.tif 000029
【図２１】
2004537817.tif 000030
【図２２】
2004537817.tif 000031
【図２３】
2004537817.tif 000032
【図２４】
2004537817.tif 000033
【図２５】
2004537817.tif 000034
【図２６】
2004537817.tif 000035
【図２７】
2004537817.tif 000036
【図２８Ａ】
2004537817.tif 000037
【図２８Ｂ】
2004537817.tif 000038
【図２８Ｃ】
2004537817.tif 000039
【図２８Ｄ】
2004537817.tif 000040
【図２９】
2004537817.tif 000041
【図３０】
2004537817.tif 000042
【図３１】
2004537817.tif 000043
【図３２】
2004537817.tif 000044
【図３３】
2004537817.tif 000045
【図３４】
2004537817.tif 000046
【図３５】
2004537817.tif 000047
【図３６】
2004537817.tif 000048
【図３７】
2004537817.tif 000049
【図３８】
2004537817.tif 000050
【図３９】
2004537817.tif 000051
【図４０】
2004537817.tif 000052
【国際公開パンフレット】
2004537817.tif 000053
2004537817.tif 000054
2004537817.tif 000055
2004537817.tif 000056
2004537817.tif 000057
2004537817.tif 000058
2004537817.tif 000059
2004537817.tif 000060
2004537817.tif 000061
2004537817.tif 000062
2004537817.tif 000063
2004537817.tif 000064
2004537817.tif 000065
2004537817.tif 000066
2004537817.tif 000067
2004537817.tif 000068
2004537817.tif 000069
2004537817.tif 000070
2004537817.tif 000071
2004537817.tif 000072
2004537817.tif 000073
2004537817.tif 000074
2004537817.tif 000075
2004537817.tif 000076
2004537817.tif 000077
2004537817.tif 000078
2004537817.tif 000079
2004537817.tif 000080
2004537817.tif 000081
2004537817.tif 000082
2004537817.tif 000083
2004537817.tif 000084
2004537817.tif 000085
2004537817.tif 000086
2004537817.tif 000087
2004537817.tif 000088
2004537817.tif 000089
2004537817.tif 000090
2004537817.tif 000091
2004537817.tif 000092
2004537817.tif 000093
2004537817.tif 000094
2004537817.tif 000095
2004537817.tif 000096
2004537817.tif 000097
2004537817.tif 000098
2004537817.tif 000099
2004537817.tif 000100
2004537817.tif 000101
2004537817.tif 000102
2004537817.tif 000103
2004537817.tif 000104
2004537817.tif 000105
2004537817.tif 000106
2004537817.tif 000107
2004537817.tif 000108
2004537817.tif 000109
2004537817.tif 000110
2004537817.tif 000111
2004537817.tif 000112
2004537817.tif 000113
2004537817.tif 000114
2004537817.tif 000115
2004537817.tif 000116
2004537817.tif 000117
2004537817.tif 000118
2004537817.tif 000119
2004537817.tif 000120
2004537817.tif 000121
2004537817.tif 000122
2004537817.tif 000123
2004537817.tif 000124
2004537817.tif 000125
2004537817.tif 000126
2004537817.tif 000127
2004537817.tif 000128
2004537817.tif 000129
2004537817.tif 000130
2004537817.tif 000131
2004537817.tif 000132
2004537817.tif 000133
2004537817.tif 000134
2004537817.tif 000135
2004537817.tif 000136
2004537817.tif 000137
2004537817.tif 000138
2004537817.tif 000139
2004537817.tif 000140
2004537817.tif 000141
2004537817.tif 000142
2004537817.tif 000143
2004537817.tif 000144
2004537817.tif 000145
2004537817.tif 000146
2004537817.tif 000147
2004537817.tif 000148
2004537817.tif 000149
2004537817.tif 000150
2004537817.tif 000151
2004537817.tif 000152
2004537817.tif 000153
2004537817.tif 000154
2004537817.tif 000155
2004537817.tif 000156
2004537817.tif 000157
2004537817.tif 000158
2004537817.tif 000159
2004537817.tif 000160
2004537817.tif 000161
2004537817.tif 000162
2004537817.tif 000163
2004537817.tif 000164
2004537817.tif 000165
2004537817.tif 000166
2004537817.tif 000167
2004537817.tif 000168
2004537817.tif 000169
2004537817.tif 000170
2004537817.tif 000171
2004537817.tif 000172
2004537817.tif 000173
2004537817.tif 000174
2004537817.tif 000175
2004537817.tif 000176
2004537817.tif 000177
2004537817.tif 000178
2004537817.tif 000179
2004537817.tif 000180
2004537817.tif 000181
2004537817.tif 000182
2004537817.tif 000183
2004537817.tif 000184
2004537817.tif 000185
2004537817.tif 000186
2004537817.tif 000187
2004537817.tif 000188
2004537817.tif 000189
2004537817.tif 000190
2004537817.tif 000191
2004537817.tif 000192
2004537817.tif 000193
2004537817.tif 000194
2004537817.tif 000195
2004537817.tif 000196
2004537817.tif 000197
2004537817.tif 000198
2004537817.tif 000199
2004537817.tif 000200
2004537817.tif 000201
2004537817.tif 000202
2004537817.tif 000203
2004537817.tif 000204
2004537817.tif 000205
2004537817.tif 000206
2004537817.tif 000207
2004537817.tif 000208
2004537817.tif 000209
2004537817.tif 000210
2004537817.tif 000211
【国際公開パンフレット（コレクトバージョン）】
2004537817.tif 000212
2004537817.tif 000213
【手続補正書】
【提出日】平成15年7月18日(2003.7.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
第１の表面を含むモデルをインタラクティブに編集する方法であって、前記方法は、プロセッサ、データ保存システム、少なくとも１つの入力装置および少なくとも１つの出力装置を備えたコンピュータにおいて実行され、前記モデルは、コンピュータ読み取り可能な媒体に保存され、前記方法は、
データ保存システムに保存されたデータベースから第１の表面特徴のデータをローディングし、
第１の表面特徴の集合体特徴オブジェクトを作成し、
前記集合体特徴オブジェクトから第１のグラフィックスオブジェクトを作成し、
第１のグラフィックスオブジェクトをアプリケーションシーングラフに加え、
集合体特徴オブジェクトの幾何学的オブジェクトを作成し、
不規則空間分離によって、表面特徴がモデルの一部となるように集合体特徴オブジェクトのための幾何学的オブジェクトを編集することによって、モデルに第１の表面特徴を編集し、
変化したセルのみのモデルのグラフィックスを選択的に更新し、前記更新は、幾何学的基準、位相的基準およびグラフィックオブジェクト目視可能性から選択された、定義された基準にしたがって選択され；および
表面特徴が前記モデル内に分類された後、第１の表面特徴の第１のグラフィックスオブジェクトをアプリケーションシーングラフから除去することを含む方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、２００１年７月３１日に出願された米国仮特許出願第60/308,915号を改変したものである。その優先権を米国特許法第120条に基づき主張する。
【０００２】
技術分野
本発明は、一般に、コンピュータグラフィックスイメージングおよび幾何学的モデリングに関する。より詳細には、本発明は、インタラクティブに地球科学のモデルを構築、編集、表現(rendering)および操作することに関する。
【背景技術】
【０００３】
地質学者、地球物理学者および石油技師は、炭化水素および、程度は低いがその他の鉱物を探索および製造する計画を立てるために、地殻のコンピュータ化モデルをはじめとしたモデルを使用する。炭化水素は、ますます希少となっているので、コンピュータ化モデルの正確さは、炭化水素の位置を突き止め、製造するためのコスト、およびガソリンや加熱オイルのような炭化水素産物に関連するコストを制限するのにますます重要となっている。
【０００４】
コンピュータ化モデルに保存された地球物理学的および地質学的データの解釈は、モデルに包含される情報が識別され編集され得るように、そのモデルが表示されることができる性能に依存する。
【０００５】
インタラクティブ幾何学的モデリングライブラリ（IGM）（Luらの米国特許第6,191, 787号参照）は、幾何学的エンジンとグラフィックスエンジンとを統合している。この統合は、インタラクティブ特徴ベースの３Ｄ地球科学幾何学的モデルの構築、表現および編集をサポートする高レベルのインタフェースを提供する。
【０００６】
シーングラフは、グラフィックスエンジンによるシーンを表す。効率的なシーングラフの構築および保守は、インタラクティブシステムの性能に直接的な影響を及ぼす。本特許出願は、シーングラフを構築および保守するためのいくつかの新たな技法を記載する。それは、ＩＧＭの性能を大いに高め、新たな機能をＩＧＭに追加するものである。
【０００７】
ＩＧＭが使用する幾何学的エンジンは、幾何学的クエリーインタフェース（ＧＱＩ）である（Assaらの米国特許法第6,128, 577号参照）。ＧＱＩは、"Shapes"（XOX、Inc）と呼ばれる幾何学的カーネルの上に配置される層である。このグラフィックスエンジンは、オープンインベンター(Open Inventor)と呼ばれる。ＩＧＭは、この２つのエンジンを統合してインタラクティブ特徴ベースの幾何学的モデリングを可能とする。
【０００８】
ＧＱＩは、ブール演算を用いた不規則な空間分割（Irregular Space Partitioning）を介して、幾何学的モデルを構築する。得られるモデルは、境界表現（ｂ-ｒｅｐ）モデルである。ＧＱＩは、地球科学アプリケーションのための特徴ベースのモデリングを提供する。そこでは、特徴が、モデル中の幾何学的および位相的エレメントのグループに関心を持つエンドユーザにとって、関心のあるエンティティである。
【０００９】
地球科学のモデルを構成するためのシーングラフを構築および保守するためにいくつかのファクターが考慮されなければならない。その方法および生成される地球科学の幾何学的モデルは、伝統的なＣＡＤ産業におけるものとは異なる。本発明に関する他のいくつかの相違点を以下に述べる。これらの相違は、表現するシーングラフを構築および保守する方法に影響を及ぼすものである。
【００１０】
第１に、モデルは、不規則な空間分割によって構成されており、そこでは、入力特徴がばらばらに分割されるが、一方、ＣＡＤ産業は典型的に、入力特徴がブール演算を介して組み合わされるConstructive Solid Geometryを用いる。第２に、地球科学の幾何学的モデルにおけるマテリアルプロパティは、典型的に空間変化（space changing）であり、特徴レベルにおいてアタッチされている。一方、ＣＡＤ産業では、モデルの各エレメントが典型的に一定のマテリアルプロパティを持っている。第３に、地球科学モデルにおいてはクラックは正常であるが、一方ＣＡＤモデルにおいてはクラックは欠陥とされるかもしれない。
【００１１】
ＣＡＤ産業のユーザのニーズと同様、地球科学のユーザは、入力特徴のアイデンティティに対してインタラクティブであり、それを維持することができること、新たな特徴に割り付けられ、それに対してインタラクティブであることを求めている。
【００１２】
地球科学アプリケーションには、以下の２つのタイプのビューが典型的に要求されている。第１のタイプは、モデル中に表面セルまたはモデルの特徴を表現する表面ビューである。第２のタイプは、モデル中にボリュームセルまたは特徴を表現するボリュームビューである。表面セルは、独自のアイデンティティを持っている。それはまた、２つのボリュームが共有する境界セルとしての機能も果たす。ユーザはまた、この２つのタイプの組み合わせも求めている。その結果、同じ幾何学的モデルのための図形による表示が１つより多く存在することになる。
【００１３】
最後に、地球科学アプリケーションに関連するソフトウェアは、典型的にかなりのコンピュータリソースを消費する、容易に動かされない強力なワークステーションを必要とすることもしばしばある。しかしながら、フィールドロケーションにおいては、上記の能力を持つことは望ましいであろう。したがって、当該技術においては、それがラップトップコンピュータのような普通の移動可能コンピュータ装置にインストールできるほどに、地球科学のソフトウェアの効率を上昇させることが必要とされている。
【発明の開示】
【課題を解決するための手段】
【００１４】
本発明によれば、新たなシーングラフ構築方法により、要求されるメモリを減少させることによって、ならびにグラフィックスオブジェクト(見えるように設定されているか、もしくは見えないように設定されているか、および有効もしくは無効のいずれにかにかかわらず)とそれらの対応する幾何学的オブジェクトとの間の一貫性（consistency）を処理する有限状態機械を提供することによって、従来技術に関連する不利な点および問題点を解決し、それによってその幾何学的形状もしくは位相が変化し、ユーザによって見えるように設定されたグラフィックスオブジェクトのみを選択的もしくは部分的に更新すること、さらに性能を高めることを可能としている。
【００１５】
本発明は、第１の表面を含むモデルをインタラクティブに編集する方法を含む。この方法は、プロセッサ、保存システムおよび少なくとも１つの入力および少なくとも１つの出力装置を備えたプログラム可能なコンピュータ上で実行される。該モデルは、プログラム可能なコンピュータによって読み取り可能な媒体に保存されることが好ましい。または、テープ、ハードディスク、ＣＤ−ＲＯＭなどの他の媒体に保存されることもできる。保存システムを用いて操作するデータベース及びプロセッサは、１以上のシーングラフにおいて見ることができる種々のオブジェクトのモデルを保存する。
【００１６】
本発明の最も簡単な態様において、データベース内の第１の表面特徴を表すデータをランダムアクセスメモリまたはコンピュータシステムのシステムメモリーにローディングする。集合体特徴を第１の表面特徴のために作成する。集合体特徴を作成した後、第１のグラフィックスオブジェクトを集合体特徴から作成する。次に、グラフィックスオブジェクトをアプリケーションシーングラフに追加する。その後、集合体特徴のための幾何学的オブジェクトを作成し、次に第１の表面特徴をモデルの中に編集する。表面特徴を編集した後、その幾何学的オブジェクトが変化し、かつユーザが見ることができるグラフィックスオブジェクトだけが更新されず、したがって時間とリソースを節約することになるように、モデルのグラフィックスの選択的更新を行う。選択的更新は、本発明にとって重要な特徴であり、オブジェクトが見えるかどうかおよび／または変化したかどうかに関わらず、全てのオブジェクトを更新していた従来技術のシステムと本発明とを区別するものである。本発明は、ユーザに表示されるモデル中のグラフィックスを更新するだけである。例えば、該当するグラフィックスオブジェクトがユーザに見えないものとして設定された場合、それらはすぐには更新されない。更新ステップが一端完了すれば、第１のグラフィックスオブジェクトはアプリケーションシーングラフから除去される。
【００１７】
本発明はまた、インタフェースおよびインタフェースで操作可能なＩＧＭ、ならびにＩＧＭで操作可能なＧＱＩを提供する。インタフェースは、第２の表面特徴において実行する操作を選択するために用られ、また、インタフェースは、ＩＧＭにユーザが行った選択を知らせるために開発されたものでもある。一旦それが生じると、ＩＧＭは、ＧＱＩでの操作を呼び出すことが可能である。次にその後、ＧＱＩから、少なくとも１回のコールバックを行い、モデルのグラフィックスオブジェクトの更新を行って出力装置をリフレッシュさせることができるように、操作を実行中のＩＧＭに通知を行う。
【００１８】
編集が不規則な空間分割によって達成されること、およびグラフィックスオブジェクトの更新がグラフィックスオブジェクトの作成を含むことが好ましい。または、コールバックを行うことで集合体特徴の状態の変化をもたらす場合、集合体特徴の状態変化は、本発明の一貫性のある有限状態機械に記録される。この一貫性のある有限状態機械は、幾何学とグラフィックスの間の一貫性を管理する。この一貫性のある有限状態機械は、ユーザに提示されるグラフィックスの選択的（部分的）更新を促進する。
【００１９】
本発明の方法はまた、集合体特徴のグラフィックスオブジェクトを無効にすることを含むコールバック方法を含む。このコールバック方法はまた、無効なグラフィックスと有効な幾何学とが区別され得るように、集合体特徴の幾何学の有効化を行う。
【００２０】
本発明のコールバック方法は、コールバックを容易にする１セットのオブジェクト、すなわち、第１の幾何学的モデラー特徴オブジェクトを提供することを含む。幾何学的モデルもしくは特徴オブジェクトに含まれる変更された幾何学的オブジェクトもまた本方法に含まれる。変更された幾何学的オブジェクトに関連する第１のメタ-プロパティ属性オブジェクトも存在する。さらに、メタ-プロパティ属性オブジェクトに関連する第１のメタ-プロパティオブジェクトが提供される。第１のメタ-プロパティ オブジェクトは、それに関連する多数のプロパティ、主に、ポイント設定保存プロパティ、ポイント設定保存プロパティポリシーオブジェクト、セルバックポインタプロパティオブジェクト、集合体バックポインタプロパティポリシーオブジェクト、バックセルポインタオブジェクトに関連する幾何学的セルオブジェクト、幾何学的セルオブジェクトに関連する集合体セルオブジェクト、および集合体セルオブジェクトに関連する表示セルグラフィックスオブジェクトを有している。さらに、幾何学的モデラー特徴オブジェクトに関連する第２のメタ-プロパティ オブジェクトが、第２のメタ-プロパティ属性オブジェクトに関連するメタ-プロパティ オブジェクト同様含まれる。第２のメタ-プロパティ オブジェクトは、第１のメタ-プロパティ オブジェクトと同様の多くのオブジェクトおよび特徴を有している。すなわち、第２のメタ-プロパティ オブジェクトは、ポイント設定保存プロパティオブジェクト、ポイント設定保存プロパティポリシーオブジェクト、特徴バックポインタプロパティオブジェクト、第２の集合体バックポインタ プロパティポリシーオブジェクト、特徴バックポインタプロパティオブジェクトに関連する幾何学的特徴オブジェクト、幾何学的特徴オブジェクトに関連する集合体特徴オブジェクト、および集合体特徴オブジェクトに関連する表示特徴オブジェクトを有している。
【００２１】
コールバックは一連のサブステップにおいて行われる。例えば、コールバックがボリュームオブジェクトに対して行われれば、編集はボリューム特徴に対して行われる。そうでない場合、編集は表面特徴に対して行われる。グラフィックスを更新する場合、更新は、幾何学的に変更されたセルだけに対して行われることが好ましい。あるいは、グラフィックスにおける更新は、位相的に変化した特徴だけを含むことができる。しかしながら、本発明の別の態様は、位相的もしくは幾何学的に変更されたそれらの特徴のグラフィックスを更新することを含む。最後に、更新は位相的もしくは幾何学的に変更された特徴に対して行うことができる。
【００２２】
モデルの集合体特徴のためのグラフィックスの形成は、連続したサブステップにおいて行うことができる。通常、モデルから関連する表面特徴を取得し、関連する表面のそれぞれについて、表面特徴がグラフィックスオブジェクトであれば、グラフィックスオブジェクトが更新される。そうでない場合、グラフィックスオブジェクトがまず形成され、その後グラフィックスオブジェクトが表面シーングラフルートノードに追加される。
【００２３】
本発明の操作
本発明は、プロセッサ、データ保存システム、少なくとも１つの入力装置および少なくとも１つの出力装置を含み、および限定されないが、コンピュータモニター、保存装置、またはプリントアウトを含むコンピュータ上で行われる、インタラクティブにモデルを編集するための方法として説明することができる。このモデルは、コンピュータ読み取り可能な媒体に保存されることが好ましい。モデル自体は少なくとも第１の表面を有する。とはいえ、典型的には多くの表面がモデリングされている。
【００２４】
この方法は、第１の表面特徴をデータ保存システムに保存されているデータベースからローディングすることによって始まる。次に、集合体特徴が第１の表面特徴として形成される。これによって、第１のグラフィックスオブジェクトを集合体特徴から形成することができる。その後、第１のグラフィックオブジェクトをアプリケーションシーングラフに追加する。次に、集合体特徴から幾何学的オブジェクトが形成される。次にモデルの第１の表面特徴を望ましいように編集する。編集が完了すれば（例えば、ユーザが編集モード以外を選択する、または、必要な時間の経過後）、モデルのためのグラフィックスが選択的に更新される。この選択的な更新によって、種々の装置は、すべての更新および変更を再計算したり、表示たりしないでよくなる。実際、ユーザが経験することに影響を及ぼす更新のみが更新される。最後に、第１の表面特徴の第１のグラフィックスオブジェクトがアプリケーションシーングラフから除去される。
【００２５】
編集および更新
編集プロセス自身は、いくつかの工程からなる。まず、インタフェースを提供しなければならない。次に、インタフェースで操作するIGM を提供しなければならない。幾何学的モデリングを可能とするIGMで操作するGQIが提供される。これによってユーザは、インタフェースを介して、第２の表面特徴について行われる操作を選択することができる。このインタフェースは、ＩＧＭにユーザの選択を通知するように設計される。この操作自身は、GQIで呼び出される。 編集プロセス中、操作を実行する間、GQIからIGMへのコールバックを少なくとも１回行う必要がある。このコールバックは、モデルのグラフィックスオブジェクトを更新するために用いられる。編集は、不規則な空間分割によって達成することができるが、他の編集技法を本発明に用いることもできる。編集が終了すると、典型的にはグラフィックスオブジェクトを作成することによってグラフィックスの更新が始まる。本発明は、更新する工程が、幾何学的および／または位相的に変更されたグラフィックスのみを更新することを含むという、特別な特徴をもっている。この更新工程はまた、可視の有限状態機械を参照することを含む。可視の有限状態機械は、グラフィックスオブジェクトの更新操作およびグラフィックスオブジェクトの可視性の更新操作を管理することを助ける。可視性の有限状態機械の使用は、（ユーザに）見えるように設計されたグラフィックスオブジェクトのみを更新することができる。可視の有限状態機械は、見えるようにグラフィックスオブジェクトを設計するため、そしてまたグラフィックスオブジェクトの有効性について確認するために用いることができる。グラフィックスオブジェクトが有効である場合、グラフィックスオブジェクトは、シーングラフに追加される。そうでない場合、グラフィックスオブジェクトは、更新することができ、シーングラフに追加することができる。
【００２６】
更新プロセスは、いくつかの工程を含むことができる。例えば、更新は、シーングラフにおけるそれぞれの特徴の状態を確認することを含んでもよい。通常、この特徴のグラフィックスが有効であるか、または特徴の幾何学が無効であれば、この特徴のグラフィックスオブジェクトは更新されない。しかしながら、特徴の幾何学が有効であり、かつ特徴のグラフィックスが無効であれば、特徴のグラフィックスオブジェクトは更新される。
【００２７】
更新の別の形態は、シーングラフにおけるそれぞれのセルの状態を確認することを含むことができる。このようにすれば、セルのグラフィックスが有効であるか、またはセルの幾何学が無効であれば、セルのグラフィックス オブジェクトは更新されない。セルの幾何学的が有効であり、かつセルのグラフィックスが無効であれば、セルのグラフィックスオブジェクトは更新される。
【００２８】
本発明の方法はまた、第２の表面特徴がモデルに含まれていない状況を包含することもできるが、もちろん第２の特徴をモデルに含むことができる。
【００２９】
グラフィックスの作成
本発明の方法はまた、集合体特徴のような種々のエンティティのグラフィックスの作成を含む。典型的には、このプロセスは、モデルの全ての関連する表面特徴を取得することを含む。関連する表面特徴のそれぞれについて、表面特徴がグラフィックスオブジェクトを持つ場合、グラフィックスオブジェクトが更新される。そうでない場合は、表面特徴のグラフィックスオブジェクトが作成される。その後、表面特徴のグラフィックスオブジェクトが表面シーングラフルートノードに追加される。
先の段落で概略を示した工程に加えて、他の工程も任意に達成することができる。例えば、表面特徴のための全ての二次元的なセルの集合体オブジェクトを取得してもよい。次に、セルのそれぞれの集合体オブジェクトを促して、少なくとも１つの有効なグラフィックスオブジェクトを取得させ、グラフィックスオブジェクトを表面特徴のサブシーングラフに追加させることができる。これが一旦完了すれば、表面特徴のグラフィックスオブジェクトを有効にすることができる。
【００３０】
直前で概略を示した方法では、更に多くのステップを行ってもよい。例えば、セルの有効なグラフィックスオブジェクトを取得する工程は、セルのグラフィックスオブジェクトが存在しないかどうかを判定するための確認を含むことができる。グラフィックスオブジェクトが存在しない場合、セルのグラフィックスオブジェクトが作成され、有効とされる。セルのグラフィックスオブジェクトが存在するが有効でない場合、セルのグラフィックスオブジェクトは更新され、有効とされる。
【００３１】
あるいは、グラフィックスを作成するための本発明の方法は、モデルから少なくとも１つのボリュームセルを作成することも含むこともできる。この代替的な方法は、モデルにおいて、少なくとも１つの関連する活性のボリュームセルを取得することを含む。取得後、各ボリュームセルの二次元的なセルの全てのグラフィックスオブジェクトが作成されたことを確認することができる。次に、二次元的なセルのそれぞれに対して、集合体を取得することができる。二次元的なセル集合体が存在しない場合、新たな集合体を作成することができる。その後、それぞれの二次元的なセルについて、それが有効なグラフィックスを持つかどうかを確認する。その後、各ボリュームセルのグラフィックスオブジェクトを作成することができる。次に、各ボリュームセルについて、ボリュームセルのそれぞれの二次元的なセルのグラフィックス コンテンツを、好ましくはカラーマテリアルを含まない、ボリュームセルのグラフィックスオブジェクトのサブシーングラフに追加する。最後に、各ボリュームセルのそれぞれについて、ボリュームシーングラフルートノードにグラフィックスオブジェクトを追加する。さらに、二次元的なセルを図表的に表した、好ましくはカラーマテリアルを含まない、グラフィックスコンテンツのインスタンテーションは、二次元的なセルを子とした表面特徴のグラフィックスオブジェクトを含む少なくとも１つのシーングラフ、ならびに、１つのボリュームセル、または二次元的なセルをそれらの境界として持つ２つボリュームセルのグラフィックスオブジェクトを含む少なくとも１つのシーングラフによって共有される。
【００３２】
コールバック
本発明では、オブジェクト フレームワーク内に広範にコールバックを使用する。例えば、コールバックは、集合体特徴の変化をもたらす。集合体特徴は、一貫性のある有限状態機械であって、その結果、コールバックが効率的に容易化されることが好ましい。一貫性のある有限状態機械は、幾何学とグラフィックスの間の一貫性を管理することもまた好ましい。コールバックは、集合体特徴のグラフィックスオブジェクトを無効にし、集合体特徴の幾何学を有効にするために有用である。例えば、コールバックがボリュームオブジェクトのためのものである場合、ボリューム特徴のために特別のコールバックが使用される。そうでない場合、表面特徴の編集コールバックが行われる。
【００３３】
本発明のコールバックは、種々の構成および環境において現われる。例えば、ボリューム特徴の編集コールバックは、幾何学的モデラーインタフェースを用いたメタ-プロパティ分割コールバック分類方法を登録することを含む。幾何学的モデラーインタフェースは、ボリューム分割事象が生じたときに呼び出されることが意図されている。その後、第１のメタ-プロパティ属性が、ボリューム特徴によって具備される少なくとも１つのボリュームオブジェクトにアタッチされる。次に、コールバックは、第１のボリュームオブジェクトと、第１のボリュームオブジェクトに対する変更によって影響を受ける第２のボリュームと、第１のメタ-プロパティ属性とを指定する幾何学的モデラーインタフェースによって受け取られる。次にポインタ値が第１のメタ-プロパティ属性から取得され、ポインタ値をメタ-プロパティオブジェクトの位置を突き止めるために逆参照することが可能となる。分割コールバックは、第１のメタ-プロパティ属性、第１のボリュームオブジェクトおよび第２のボリュームオブジェクトを持つ第１のメタ-プロパティ オブジェクトにおいて呼び出される。この最後のステップ自身は、第１のポイント設定プロパティインスタンスおよびプロパティインスタンスからの第１のポイント設定保存ポリシーインスタンスを取得すること、並びに、ポイント設定保存プロパティインスタンス、第１のボリュームオブジェクトおよび第２のボリュームオブジェクトをもつポイント設定保存プロパティポリシーインスタンスに対する第１の分割コールバックを開始することを含む。この最後のサブステップ自身は、第１のボリュームオブジェクトの、少なくとも１つの含有特徴を取得すること、および含有特徴および第２のボリュームオブジェクトを持つ幾何学的モデラーインタフェースにおいて特徴追加子更新を開始することを含む。次に、集合体バックポインタプロパティポリシーインスタンスがセルバックポインタプロパティインスタンスから得られ、その結果、集合体バックポインタプロパティインスタンスによって第２の分割コールバックが開始されるようにセルバックポインタプロパティを取得する。後のコールバック自身は、セルバックポインタプロパティインスタンスからボリューム幾何学的セルオブジェクトを取得すること、およびボリューム幾何学的セルオブジェクトに対するセル分割コールを開始することを含む。後のサブステップは、ボリューム幾何学的セルオブジェクトのボリュームセル集合体パトロンに対するコールを開始し、第１のボリュームのグラフィックスを無効にすることを含むことができる。
【００３４】
ボリューム特徴の特徴追加子コールバックを行うことは、特徴追加子事象が生じたときに呼び出される幾何学的モデラーインタフェースでのメタ-プロパティ追加子コールバック分類方法を登録することを含む。これは、第２のメタ-プロパティ属性インスタンスをボリューム特徴にアタッチすること；および幾何学的モデラーインタフェースから、ボリューム特徴と、ボリュームオブジェクトと、第２のメタ-プロパティ属性とを指定する追加子コールバックを受け取ることを含むことができる。第２のメタ-プロパティ属性からポインタ値が取得され、第2のメタ-プロパティオブジェクトの位置を突き止めるためにポインタ値が逆参照される。追加子コールバックは、第２のメタ-プロパティオブジェクトにおいて呼び出される。後のステップは、第2のポイント設定保存プロパティインスタンスを取得すること；第2のポイント設定保存プロパティインスタンスから第2のポイント設定保存プロパティポリシーインスタンスを取得すること；およびボリューム特徴およびボリューム幾何学的オブジェクトを持つ第２のポイント設定ポリシーオブジェクトの追加子コールバック方法を開始することを含む。後のサブステップ自身は、ポイント設定保存プロパティをボリュームセルにアタッチすること；特徴バックポインタプロパティインスタンスを取得すること；および特徴バックポインタプロパティインスタンスの特徴から第２の集合体バック ポインタ プロパティ ポリシー インスタンスを取得すること；およびボリューム特徴、ボリューム幾何学的オブジェクトおよびボリューム特徴バックポインタプロパティを持つ、第２の集合体バックポインタ プロパティインスタンスの追加子コールバック方法を開始することを含む。後のサブステップ自身は、特徴バックポインタプロパティインスタンスによって確認される、ボリューム特徴幾何学的オブジェクトに対する追加子通知方法を開始することを含む。後のサブステップ自身は、ボリューム特徴オブジェクトの幾何学を有効にするために、ボリューム特徴オブジェクトのボリューム特徴集合体パトロンに対するコールを開始すること；およびボリューム特徴オブジェクトのグラフィックスを無効にするために、ボリューム 特徴オブジェクトのボリューム特徴集合体パトロンに対するコールを開始することを含む。
【００３５】
本発明の更に別の方法は、表面特徴の編集コールバックを行うことを含む。この方法のこの局面は、表面分割事象が生じたときに呼び出されるべき幾何学的モデラーインタフェースで、メタ-プロパティ分割コールバック分類方法を登録すること；表面特徴によって具備されるメタ-プロパティ属性を少なくとも１つの表面オブジェクトにアタッチすること；幾何学的モデラーインタフェースから、第１の表面オブジェクトと、第１の表面に対する変更による影響を受ける第２の表面と、第１のメタ-プロパティ属性とを指定するコールバックを受け取ること；メタ-プロパティ属性からポインタ値を取得し、およびメタ-プロパティ オブジェクトの位置を突き止めるためにポインタ値を逆参照すること；第１のメタ-プロパティオブジェクトにおいて、第１の表面オブジェクト、第２の表面オブジェクト及び第１のメタ-プロパティ属性自身を持つ分割コールバックを呼び出すことを含む。後のステップは、ポイント設定保存プロパティインスタンスを取得すること；プロパティインスタンスからポイント設定保存ポリシーインスタンスを取得すること;およびポイント設定保存プロパティインスタンス、第１の表面オブジェクト、および第２の表面オブジェクトを持つ、ポイント設定保存ポリシーインスタンスに対する第１の分割コールバックを開始することを含む。後のサブステップ自身は、第１の表面オブジェクトのための少なくとも１つの含有特徴を取得すること；および含有特徴および第２の表面オブジェクトを持つ、幾何学的 モデラー インタフェース上で特徴追加更新を開始すること；セルバックポインタプロパティインスタンスを取得すること；セル バック ポインタ プロパティインスタンスから集合体バック ポインタ プロパティ ポリシー インスタンスを取得すること；およびセルバックポインタプロパティインスタンスを持つ第２の分割コールバックを集合体バックポインタプロパティポリシーインスタンスに対して開始することを含む。後のサブステップは、セル バック ポインタ プロパティインスタンスから表面幾何学的セルオブジェクトを取得すること；および表面幾何学的セルオブジェクトに対するセル分割コールを開始することを含む。後のサブステップは、表面幾何学的セル オブジェクトの表面セル集合体パトロンへのコールを開始し、第１の表面のグラフィックスを無効にすることを含む。
【００３６】
特徴追加コールバックを行う工程（先行するパラグラフに記載）は、幾何学的モデラー インタフェースでメタ-プロパティ追加子コールバック分類方法を登録して、特徴追加子事象が生じたときに呼び出されるようにすること；第２のメタ-プロパティ属性インスタンスを表面特徴にアタッチすること；幾何学的モデラーインタフェースから、表面特徴と、表面オブジェクトと、第2のメタ-プロパティ属性とを指定する追加子コールバックを受け取ること；第2のメタ-プロパティ属性からポインタ値を取得し、第２のメタ-プロパティ オブジェクトの位置を突き止めるためにポインタ値を逆参照すること；および第２のメタ-プロパティオブジェクトにおいて追加子コールバックを呼び出すことを含む。後のサブステップ自身は、第2のポイント設定保存プロパティインスタンスを取得すること；第2のポイント設定保存プロパティインスタンスから、第2のポイント設定保存プロパティポリシーインスタンスを取得すること；および、表面特徴および表面幾何学的 オブジェクトをもつ第２のポイント設定ポリシーオブジェクトの追加子コールバック方法を開始することを含む。後のサブステップ自身は、ポイント設定保存プロパティをボリュームセルにアタッチすること；特徴バック ポインタ プロパティインスタンスを取得すること；第2の集合体バック ポインタ プロパティ ポリシー インスタンスを、特徴バック ポインタ プロパティインスタンスから取得すること、および表面特徴、表面幾何学的オブジェクトおよび表面特徴バックポインタプロパティをもつ第２の集合体バックポインタプロパティインスタンスの子コールバック方法を開始することを含む。後のサブステップ自身は、表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴オブジェクトの幾何学を有効にすること；および表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴オブジェクトのグラフィックスを無効にすることを含む。
【００３７】
コールバックは、本発明の種々のオブジェクトの多数の効果を持つことができる。例えば、コールバックを行うことによって、セルの状態を変化させ得る。この状態の変化は、一貫性のある有限状態機械に記録されることができる。
【００３８】
本発明の方法の別の局面は、ボリューム特徴のために編集コールバックを行うことである。本発明のこの局面は、ボリュームの併合事象が生じたときに呼び出される幾何学的モデラーインタフェースでメタ-プロパティ併合コールバック分類方法を登録すること; メタ-プロパティ属性をボリューム特徴によって限定される少なくとも１つのボリュームオブジェクトにアタッチすること；幾何学的モデラーインタフェースから、ボリュームオブジェクトと、第２のボリュームと、ボリュームオブジェクトに以前は結合していて除去された表面オブジェクトと、メタ-プロパティ属性とを指定するコールバックを受け取ること；幾何学的モデル属性からポインタ値を取得し、メタ-プロパティオブジェクトの位置を突き止めるためにポインタ値を逆参照すること；および第１のメタ-プロパティオブジェクトに併合コールバックを呼び出すことを含む。後のサブステップ自身は、ポイント設定保存プロパティインスタンスを取得することおよび、プロパティインスタンスからポイント設定保存ポリシー インスタンスを取得すること；およびポイント設定保存プロパティ、第１のボリューム オブジェクト、第２のボリュームオブジェクト、および表面オブジェクトを持つ、ポイント設定保存ポリシーインスタンスに対する併合コールバックを開始することを含む。後のサブステップ自身は、第１のボリュームオブジェクトのために少なくとも１つの含有特徴を取得すること；含有特徴及び第２のボリュームオブジェクトを持つ幾何学的モデラーインタフェースにおいて特徴除去子更新を開始すること；セルバックポインタプロパティインスタンスを取得すること；集合体バックポインタプロパティポリシーインスタンスをセルバックポインタプロパティインスタンスから取得すること；および第２の併合コールバックが、セルバックポインタプロパティインスタンス、第１のボリュームオブジェクト、第２のボリュームオブジェクト、および表面オブジェクトを持つ集合体バックポインタプロパティ ポリシー インスタンスに対して開始することを含む。後のサブステップ自身は、セルバックポインタプロパティインスタンスからボリューム幾何学的セルオブジェクトを取得すること、およびボリューム幾何学的セルオブジェクトに対するセル併合コール開始することを含む。後のサブステップ自身は、ボリューム幾何学的セルオブジェクトのボリュームセル集合体パトロンに対するコールを開始して、第１のボリュームのグラフィックスを無効にすることを含む。
【００３９】
ボリューム特徴自身において編集コールバックを行うための方法を示し、任意に子編集コールバックの除去を含む。後のサブ方法は、特徴除去子事象が生じたときに呼び出される幾何学的モデラーインタフェースでメタ-プロパティ除去子コールバック分類方法を登録すこと；第２のメタ-プロパティ属性インスタンスをボリューム特徴にアタッチすること；幾何学的モデラーインタフェースから、ボリューム特徴と、ボリュームオブジェクトと、第２のメタ-プロパティ属性とを指定する除去子コールバックを受け取ること；第２のメタ-プロパティ属性からポインタ値を取得する；第２のメタ-プロパティオブジェクトの位置を突き止めるためにポインタ値を逆参照すること；および第２のメタ-プロパティオブジェクトにおいて除去子コールバックを呼び出すことを含む。後のサブステップは、第２のポイント設定保存プロパティインスタンスを取得すること；第２のポイント設定保存プロパティインスタンスから、第２のポイント設定保存プロパティポリシー インスタンスを取得すること；ボリューム特徴およびボリュームボリューム 幾何学的オブジェクトを持つ、第２のポイント設定ポリシーオブジェクト除去子コールバック方法を開始することを含む。後のサブステップは、ボリュームセルからポイント設定保存プロパティを除去すること；特徴バックポインタプロパティインスタンスを取得すること；特徴バック ポインタ プロパティインスタンスから第２の集合体バック ポインタ プロパティ ポリシー インスタンスを取得すること；およびボリューム特徴、ボリューム幾何学的オブジェクトおよびボリューム特徴バックポインタプロパティを持つ、第２の集合体バックポインタプロパティポリシーインスタンスの除去子コールバック方法を開始することを含む。後のサブステップは、ボリューム特徴オブジェクトのボリューム特徴集合体パトロンへのコールを開始し、ボリューム特徴オブジェクトの幾何学を有効にすること；およびボリューム特徴オブジェクトのボリューム特徴集合体パトロンへのコールを開始し、ボリューム特徴オブジェクトのグラフィックスを無効にすることを含む。
【００４０】
表面ボリュームで編集コールバックを行うことは、ボリューム特徴（上記）と同じ類似の方法であることを示している。具体的に、表面特徴の編集コールバックを行う工程は、表面併合事象が生じたときに呼び出されるべき幾何学的モデラーインタフェースでメタ-プロパティ併合コールバック分類方法を登録すること；第１のメタ-プロパティ属性を、表面特徴によって限定される少なくとも１つの表面オブジェクトにアタッチすること；幾何学的モデラーインタフェースから、表面オブジェクトと、第２の表面オブジェクトと、第１および第２の表面に以前は結合していて除去された曲面オブジェクトと、メタ-プロパティ属性とを指定するコールバックを受け取ること；幾何学的モデル属性からポインタ値を取得し、メタ-プロパティオブジェクトの位置を突き止めるためにポインタ値を逆参照すること；および第１のメタ-プロパティオブジェクト中に併合コールバックを呼び出すことを含む。後のサブステップは、ポイント設定保存プロパティインスタンスを取得すること；プロパティインスタンスから、第１のポイント設定保存ポリシーインスタンスを取得すること；およびポイント設定保存プロパティインスタンス、第１の表面オブジェクト、第２の表面オブジェクトおよび曲線オブジェクトを持つポイント設定保存ポリシーインスタンスに対して、第１の併合コールバックを開始することを含む。後のサブステップは、第１の表面オブジェクトのために少なくとも１つの含有特徴を取得すること；および含有特徴および第２の表面オブジェクトを持つ幾何学的モデラーインタフェースにおいて、特徴除去子更新を開始すること；集合体バック ポインタ プロパティ ポリシー インスタンスをセル バックポインタプロパティインスタンスから取得すること；およびポイント設定保存プロパティインスタンス、第１の表面オブジェクト、第２の表面オブジェクトおよび曲線オブジェクトを持つ、集合体バックポインタプロパティポリシーインスタンスに対する第２の併合コールバックを開始することを含む。後のサブステップは、セル バック ポインタ プロパティインスタンスから幾何学的セルオブジェクトを取得すること；および表面幾何学的セルオブジェクトに対するセル併合コールを開始することを含む。後のサブステップは、表面幾何学的セルのセル集合体パトロンに対するコールを開始し、第１の表面のグラフィックスを無効にすることを含む。
【００４１】
最後に、表面特徴のための特徴除去コールバックを行う工程は、特徴除去子事象が生じたときに呼び出されるべき、幾何学的モデラーインタフェースでメタ-プロパティ除去子コールバック分類方法を登録すること；第２のメタ-プロパティ属性インスタンスを表面特徴にアタッチすること；幾何学的モデラーインタフェースから、表面特徴と、表面オブジェクトと、第２のメタ-プロパティ属性とを指定する前記除去子コールバックを受け取ること；第２のメタ-プロパティ属性からポインタ値を取得し、第２のメタ-プロパティ オブジェクトの位置を突き止めるためにポインタ値を逆参照すること；および第２のメタ-プロパティ属性、表面特徴及び表面幾何学的オブジェクトを持つ第２のメタ-プロパティ オブジェクト中の除去子コールバックを呼び出すことを含む。後のサブステップは、第２のポイント設定保存プロパティインスタンスを取得すること；第２のポイント設定保存プロパティインスタンスから第２のポイント設定保存プロパティポリシー インスタンスを取得すること；および表面特徴および表面幾何学的オブジェクトを持つ、第２のポイント設定ポリシーオブジェクトオブジェクト中の除去子コールバックを開始することを含む。後のサブステップ自身は、表面セルからポイント設定保存プロパティを除去すること；特徴バック ポインタ プロパティインスタンスを取得すること；特徴バック ポインタ プロパティインスタンスから第２の集合体バック ポインタ プロパティ ポリシー インスタンスを取得すること；および表面幾何学的オブジェクトおよび表面特徴ポインタプロパティをもつ、第２の集合体バックポインタプロパティポリシーインスタンスの除去子コールバック方法を開始することを含む。 後のサブステップは、バックポインタプロパティインスタンスによって確認される表面特徴幾何学的オブジェクトに対して、除去子通知コールを開始することを含む。後のサブステップは、表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴オブジェクトの幾何学を有効にする；および表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴オブジェクトのグラフィックスを無効にするを含む。
【００４２】
コールバックは、多くの方法で行うことができる。しかしながら、通常、コールバックは１セットの１以上のオブジェクトを用いて達成される。通常、そのオブジェクトのセットは、第１の幾何学モデラー特徴オブジェクト；幾何学モデラー特徴オブジェクトに含まれた変化した幾何学オブジェクト；変化された幾何学オブジェクトに効果を及ぼして関連している第１のメタ‐プロパティ属性オブジェクト；第１のメタ-プロパティ属性と関連する第１のメタ-プロパティオブジェクト；幾何学的モデラー特徴オブジェクトと関連する第２のメタ-プロパティ属性オブジェクト；および第２のメタ-プロパティ属性オブジェクトと関連する第２のメタ-プロパティオブジェクトを含む。
【００４３】
第１のメタ-プロパティ オブジェクト自身は、ポイント設定保存プロパティオブジェクト；ポイント設定保存プロパティポリシーオブジェクト；セルバックポインタプロパティオブジェクト；集合体バックポインタプロパティポリシーオブジェクト；コールバックポインタオブジェクトと関連する幾何学的セルオブジェクト；幾何学的セルオブジェクトと関連する集合体セルオブジェクト；および集合体セルオブジェクトトン関連する表示セルグラフィックスオブジェクトのような１セットのオブジェクトを含む。
【００４４】
第２のメタ-プロパティ属性オブジェクト自身は、１セットのオブジェクトを持ち、第２のポイント設定保存プロパティオブジェクト；第２のポイント設定保存プロパティポリシーオブジェクト；特徴バックポインタプロパティオブジェクト；第２の集合体バックポインタプロパティポリシーオブジェクト；特徴バックポインタプロパティオブジェクトと関連する幾何学的特徴オブジェクト; 幾何学的 特徴オブジェクトと関連する集合体特徴オブジェクト;および集合体特徴オブジェクトと関連する表示特徴グラフィックスオブジェクトとを含む。
【発明を実施するための最良の形態】
【００４５】
幾何学的モデル構築および編集は大半が、適切なグラフィックスのサポートを必要とするインタラクティブプロセスである。インタラクティブ コンピュータグラフィックスの複雑さから、オブジェクト指向グラフィックスライブラリであるOPEN INVENTORのような高レベルの開発されたツールを用いたアプリケーションを書くことが好ましい。
【００４６】
地球科学のモデリングを実行するためのアプリケーションである、GEOFRAME （Schlumberger Ltd.製）は、GEOMETRY QUERY INTERFACE（「GQI」）と呼ばれる幾何学的モデリングコンポーネントを備えている。それは、固体３Ｄ幾何学的モデルを構成し、編集するためのアプリケーションプログラミングインタフェース（「API」）を提供するものである。固体３Ｄ幾何学的モデルは、モデルに含まれる種々の幾何学的エレメント間の関係を包含する。ＧＱＩ幾何学的モデリング機能性の一部は、市販の幾何学的エンジン、XOX Corporation製のSHAPES パッケージによって提供される。
【００４７】
グラフィックスシステムは、幾何学的モデルに含まれるもののような複雑な関係が視覚化されるように、グラフィックス情報を表示する。SHAPESパッケージは、OpenGLに基づくグラフィックスシステムを含む。しかしながら、性能上の理由から、グラフィックスのインタラクションおよび幾何学的処理を分離することが重要である。さらに、事実上全ての地球科学アプリケーションは、全てが幾何学的モデリングを要求しているのではないにしても、インタラクティブグラフィックスの視覚化を要求している。したがって、それは、１つの通常の好適なグラフィックスシステムを、アプリケーションを書くために使用し、幾何学的エンジンのみを追加するための開発を簡易化する。
【００４８】
グラフィックスシステムと幾何学的システムの両方を含むアプリケーションを設計する際、その設計の問題点は、どのようにして幾何学的モデルを表現し、かつ視覚的に相互作用するかだけでなく、どのように幾何学的エンジンとグラフィックスエンジンを滑らかに一緒に動かすかという点である。OPEN INVENTORおよびGQI/SHAPESの場合、双方のエンジンは、自動抑制され、それら自身のオブジェクトおよびそれらオブジェクトに関する操作を管理する。２つのエンジンは、幾何学的、位相的な関係及び物性を記載するために、等価なオブジェクトを表す異なる内部表示を持っている。これは、両エンジンによって同じオブジェクトが操作されたときに矛盾を生じさせる。２つのエンジンの統合によって、トラックを維持し、矛盾を両立させるために、いくつかのメカニズムの追加が必要となる。
【００４９】
１つのそのようなデザインである、インタラクティブ幾何学的モデリングライブラリ（「IGM」）１０は、高レベルのグラフィックスシステム（「グラフィックスシステム」）１２と、高レベルの幾何学的モデリングパッケージ（「幾何学的システム」）１４とを統合し、図１に示すように、双方のサブシステムを両立して見えるようにしたアプリケーション１６を提供する。ＩＧＭは、グラフィックスシステムと幾何学的システムを統合して、地球科学モデルのインタラクティブな構築、編集および視覚化を可能とする。
【００５０】
地球科学のアプリケーションは、従来のＣＡＤパッケージによって満たされるものに加えて、特別な幾何学的モデリングの必要基準を持っている。サブ表面構造は、典型的に「レイヤーケーキ」２０を形成している。そこでは、層位２２ａ、２２ｂ、２２ｃ、層位２４ａ、２４ｂおよび層位２６および２８のような「層位」が、層を、図２に示すように、例えば仕切られた層３０ａ、３０ｂ、仕切られた層３２ａ、３２ｂ、仕切られた層３４ａ、３４ｂのような分離層がある。レイヤーケーキはしばしば、３０ａ、３０ｂ、３２ａ、３２ｂ、３４ａ、３４ｂのような「断層ブロック」に分かれている。それらは、断層４０および４２のような「断層」によって結合されている。幾何学的モデリングに関しては、これは、使用される幾何学的エンジンが、非多様性の幾何学的形状、すなわち、長さが雑多の幾何学的形状の、表現および演算を支持するものでなければならない（すなわち、３Ｄ断層ブロックおよび２Ｄ断層）であることを意味する。
【００５１】
層位は、層の境界を形成し、断層は、層のブロックを分離およびオフセットしている。論理的に、たとえそれらが、例えば、層３２ａ、３２ｂを層３４ａ、３４ｂから分離する層位２２ａ、２２ｂ、２２ｃのように分割され、空間的に分離されていても層および層位は、単一のオブジェクトであると考えられる。
【００５２】
図３に示すように、表面５２ａ、５２ｂを挿入してレイヤーケーキ５４を形成することによって、関連領域５０は、副分割（sub-divided）される。まず、副分割は、スクリーンのみに現われる。アプリケーションは、表面の位置に満足すれば、計算相互作用およびアッセンブリ中における全てのオブジェクト間の連結関係の確立を「完遂」５６し、レイヤーケーキ５８を生成する。そして層がスクリーン上に表現され、スクリーンビュー５９を提供する。
【００５３】
表面下構造の幾何学的モデルもしくは地球モデルの構築は、大半がインタラクティブプロセスによる。そこでは、新たな表面下データが取得可能であるので、モデルが改良される。図３において、下部表面５２ｂが変形され層位７１を形成しており、その上の層６０の幾何学的形状を楔形もしくは「ピンチアウト」に変えている。ここでもアプリケーションが満たされた後、完遂６２し、幾何学的モデル６４中およびスクリーン６６上において反映されるべき変化をもたらしている。特に、ＩＧＭは２つの層７０、７２を併合し、層７４を生成し、プロセス中において層位７６を除去している。そのような変化を収容するためには、モデル編集のための適切なサポートが、モデルをゼロから構築する容易にするためのものと同程度に重要である。
【００５４】
地球モデルは大きくすることもでき、それぞれが数万〜数十万の三角形によってあらわされる数十〜数表の表面を含むこともできる。ＩＧＭは、同様に大きなデータセットで行わなければならない。それが、バッチプロセスとして機能するいくつかのアプリケーションにとって許容され、もしくは必要とさえされているとき、それは、インタラクティブに地球モデルとともに働かなければならない。これはモデルを見ることならびにそのオブジェクトおよびそれらの属性を編集することを含む。
【００５５】
異なるアプリケーションが地球モデルを共有することができなければならない。このことは、持続的な保存が、モデルを形成する全ての形状、位相関係および属性を含まなければならないことを意味している。
【００５６】
もっとも商業的な幾何学的モデリングシステムは、境界表現を用い、マテリアルプロパティのような形状、位相、および属性の表示を建築学的に分離している。いくつかのシステムは、非多様性な幾何学的形状、例えば、埋没した表面を持つ３Ｄオブジェクトまたは埋没した曲線を持つ２Ｄオブジェクトを表すことができる。そのようなオブジェクトにおいて、境界は、隣接するコンポーネントによって共有されている。例えば、図２に示されているように、断層４２は断層ブロック３０ｂ、３２ａおよび３２ｂによって共有されている。
【００５７】
伝統的な計算援用設計（ＣＡＤ）アプリケーションは、ブロックおよび円筒のような基本の３Ｄ構築ブロックを組み合わせることによって複雑な３Ｄ幾何学的形状を構築している。これは、構築固体幾何学的（ＣＳＧ）モデリングと称される。例えば、図４ａに示されているように、サブボリューム８０ａ〜ｄを最初の形状８２から減算する。さらに、サブボリューム８４ａ〜ｃを最初の形状８６から減算する。ＣＳＧモデリングは、地球モデルを構築するために好適でない。そこでは、３Ｄオブジェクトの形状、例えば、地質的な層は、層位や断層面によって境界を区切っている２Ｄオブジェクトから推論しなければならない。
【００５８】
不規則空間分離（「ＩＳＰ」）は、図４ｂに示すように、再分割され、挿入されているので、地球モデルを構築することができる。関連領域９０は、表面９２ａおよび９２ｂによって再分割され、レイヤーケーキ９４を生成する。岩塩ドームを表すサブボリューム９６をレイヤーケーキ９４に挿入し、オブジェクト間の境界の形状を編集し、最終的なモデル９８を作製する。
【００５９】
ＩＳＰモデルは、さらに、異なる境界に沿って現れる内部不連続部を含んでもよい、滑らかに変化するマテリアルプロパティフィールドを表す。不連続境界の位置は、モデルの形状および構造を構成する。不連続境界の形状が明確に表されている。これらの境界は、無限の空間のどこに位置することもでき、どのような形状をとることもでき、分割空間に互いに交差し、複数セットの異なるサブ領域をなすことができる。
【００６０】
ＩＳＰモデルは、「関連領域」を定義し、より低次元のオブジェクト、例えば、真っ直ぐなグラフィック境界によって層に再分割されたサブ表面領域によって再分割することもできる。ＩＳＰモデルのＧＱＩの実施によって、均一なオブジェクトとしての領域の集合を取り扱うことを可能にする特徴の概念がサポートされる。
【００６１】
幾何学的エンジンは、分析的およびパラメータ的曲線を含む形状の種々の表現ならびに表面表現を提供する。地球科学において、三角形メッシュは、表面表現のために広く用いられている。
【００６２】
モデルの位相的な表現は、ノードが頂点、曲線、面およびボリュームのような位相的なエンティティであり、端面が連結的関係にあるグラフである。これは、境界表現もしくは「ｂ−ｒｅｐ」と呼ばれる。ＣＳＧおよびＩＳＰモデリングの双方がｂ−ｒｅｐを生成することができる。
【００６３】
例えば、図５ａは、境界１０６を共有する２つの隣接する矩形１０２，１０４からなるオブジェクト１００を示す。図５ｂに示されたオブジェクト１００の分解図は、それが２つの面１０８、１１０、７つの端部１０６、１１２、１１４、１１６、１１８、１２０および１２２、ならびに６つの頂点１２４、１３６、１３８、１３０、１３２および１３４を含むことを示している。図５ｃに示された、これらの幾何学的要素の間の位相的な関係は、面１０８および１１０を表す円形１３６および１３８をそれぞれ含む。面１０８は、それぞれ円形１４０、１４２、１４４および１４６によってそれぞれ表される４つの端部１２０、１２２、１１２および１０６によって連結され、および境界がつけられている。「境界がつけられている」関係は、円弧１５０、１５２、１５４および１５６によって表されている。面１１０は、それぞれ円形１５８、１６０、１６２および１４６によってそれぞれ表される４つの端部１１４、１１６、１１８および１０６によって連結され、および境界がつけられている。「境界がつけられている」関係は、円弧１６４、１６６、１６８および１７０によって表される。
【００６４】
属性は、典型的に位相的なエンティティによって関連付けられている。例えば、矩形の色属性１７２および１７４は、それらの対応する面１３６および１３８にそれぞれ関連している。
【００６５】
幾何学的モデリングシステムは、総合的な一連の幾何学的操作をサポートする。これらは、曲線／曲線、表面／表面および表面／曲線の交わりならびに和、減算および固体オブジェクトの交わり等のブール演算が含まれる。固体についてのブール演算はまた、(位相的な)分類とも呼ばれる。非多様なオブジェクトに対するサポートは、いくつかの分類、すなわち、再分割操作が「一体構造」のオブジェクトではなく、むしろ複合体を生成することを意味している。例えば、図３の関連領域５０の、２つの表面５２ａおよび５２ｂによる再分割を参照されたい。表面５２ａおよび５２ｂに加えて、得られたモデルは、元のブロックに置き換えられる３つの層１８０、１８２および１８４を含んでいる。
【００６６】
多くの幾何学的計算は、「インタラクティブ時間」において実行される。すなわち、それらは数秒未満で完成される。しかしながら５０万程度の三角形からなるメッシュを含むブール演算は数分程度かかる。
【００６７】
単一オブジェクトの変換は非常に速い。同じオブジェクトの変換は、それがより大きなアッセンブリを形成している場合、再分類が必要であるため、かなりの時間がかかる。
【００６８】
GQI/SHAPESは、非多様体オブジェクトの表現および計算をサポートする幾何学的モデリングシステムを実行する。GQI/SHAPESは、密閉されたアブストラクトデータ型がＣ言語ＡＰＩを提供する。アプリケーションが属性を持つコールバックを登録することができるようにするSHAPES属性メカニズム全体において、拡張性が付与されている。分類アルゴリズムとして誘発されるコールバックは、それらの関連するオブジェクトを変化させる。GQI/SHAPESは、持続的な保存のための所有ファイルフォーマットを定義する。
【００６９】
高レベル３Ｄグラフィックスシステムは、形状および属性表現を密閉したライブラリ、表現方法および対話方法である。市販の製品としては、OPEN INVENTOR、IRIS PERFORMER、HOOPS、RENDERWARE、COSMO 3Dその他がある。本モデルは、拡張可能なオブジェクト指向３ＤグラフィックスライブラリであるOPEN INVENTORを用いる。アプリケーションは、OPEN INVENTORコールを使用して３Ｄオブジェクトを作成し、それらを有向非循環（ＤＡＧ）グラフ、いわゆるシーングラフに配列する。
【００７０】
例えば、図５ａに示された、端部が共有された２つの矩形は、図６に示されているように、スクリーングラフとして表してもよい。スクリーングラフの横断順序は、上から下および左から右である。グループノード１９０は、横断の開始部である。次のノード１９２は、マテリアルプロパティ、すなわち、色(グレー４０)を確立している。ノード１９４は、画像の開始座標を確立している。ノード１９６は、「インデックスフェースセット」あるいは、左の矩形の頂点のインデックスを確立している。ノード１９８は、色マテリアルプロパティの値をグレー２０に変更しており、ノード２００は、右の三角形の「インデックスフェースセット」を確立している。このスクリーングラフを横断するとき、図５ａに示される画像がスクリーンに表示される。
【００７１】
アクションと呼ばれる特別なセットの分類は、アプリケーションがシーングラフを横断するオブジェクトを作成し、そのノード上で操作を行うことを可能とする。例えば、シーングラフ中のオブジェクトを表示するための表現アクションなどがある。シーングラフの役割は、横断順序の定義である。アクションは、操作がオブジェクトに保存されていないが横断中に行われる操作の副作用である状態のときは、いつでも使用される。例えば、図６のシーングラフは、１つの座標ノード１９４を含んでおり、その座標は、２つのインデックスフェースセットによって共有されている。横断中、「電流座標」のアレイが維持されている。各インデックスフェースセットは、１つの矩形をあらわし、その角座標のインデックスを含んでいる。座標と同様に、マテリアル値も、新たなマテリアルノードによって置き換えられるまで有効である。その結果、図６において、第１の矩形は、第２のものよりグレーの影が暗く描かれる。
【００７２】
センサと呼ばれる別セットの分類を、シーングラフのノードおよびサブグラフをモニタするために使用することができる。アプリケーションは、コールバックとセンサを関連付けることができ、それは、「センサで認識された」オブジェクトの状態が変化するごとに誘発される。
【００７３】
Open Inventorオブジェクトは、箱形、球状および円筒状のような形状、ならびにNURBS曲線および表面および三角形メッシュのようなパラメータ形を暗に含む。形を作成し表示することができるとき、座標変換および光オブジェクト交わり以外の幾何学的計算のためのサポートは存在しない。これらの操作は典型的に速く行われ、再表現が必要な場合、時間を表現することによって支配される。達成可能なフレーム速度がそれをサポートする限りインタラクティブワークが可能である。例えば、シーンが０．１秒で表現されることができるとき、オブジェクトは、シーンの周りを１０フレーム／秒で移動することができる。
【００７４】
幾何学的サブシステムおよびグラフィックスサブシステムのＩＧＭ統合によって満たされる重要な要件がいくつか存在する。第１に、ＩＧＭは、インタラクティブに３Ｄオブジェクトを構築、編集、および操作するための一貫性のあるオブジェクト指向インタフェースを提供する。第２にＩＧＭは、オーバーヘッドの観点から軽量である。各サブシステムそれ自体は複雑で、統合はオーバーヘッドをさらに最小化するものであり、性能を低下させるものではない。第３に、インタフェースは、カスタマイズが可能であり、拡張可能である。
【００７５】
さらに、３つの主な問題点がＩＧＭによって対処される幾何学的およびグラフィックスシステムの上記概説において述べられている。それらは、いずれかのシステムにおける幾何学的オブジェクトの表現におけるミスマッチ、オブジェクト属性におけるミスマッチ、および処理速度の矛盾である。
【００７６】
幾何学的システムおよびグラフィックスシステムのオブジェクト表現は一致しない。幾何学的システムのオブジェクトは、図５ｃに示されているように、位相グラフによって明確に連結されているが、グラフィックスオブジェクトは、図６に示すように、単にシーングラフに配列されているに過ぎない。
【００７７】
さらに、地球モデルにおいては、多くの表面が隣接するオブジェクト間の境界として共有されており、その結果、幾何学的システムにおいて２つの役割を果たしている。第１に、それらはそれら自身がオブジェクトであり、空間のいくつかの領域を再分割することによって、地球モデルを構築するために使用される。第２に、それらは岩層の境界表面である。そうであるのでそれらは層オブジェクトの一部をなす。グラフィックスシステムにおいて、地球モデルが表現されるとき、それは、１セットの表面もしくは１セットの層として表現してもよく、またはその両方でもよい。１セットの層を表現するとき、共有される表面は、良好な性能のために１度だけ表現される。
【００７８】
その結果、幾何学的オブジェクトとグラフィックスオブジェクトとの間には１対１の関係は存在しない。むしろ、グラフィックスオブジェクトは、幾何学的オブジェクトの過渡的な表現でなければならず、そのためオブジェクトの２つの表現が維持されなければならないときは、データを複製しなければならないことにもなる。さらに、データ複製は、オブジェクトの１つの表現が変化するとき、その他の表現も同様に更新されることを保証するようにデータの一貫性コントロールを要求する。幾何学的システムの属性は、図５ｃの色属性１７２および１７４のような、オブジェクトもしくはオブジェクトまたは複数のオブジェクトと直接的に関連する。グラフィックスシステムにおける属性は、幾何学的オブジェクトとはっきりとは関連していない。むしろ、それらは、図６のノード１９２および１９８のような、シーングラフの「自律的な」オブジェクトであり、表現状態に影響を及ぼし、したがって表現される形状の外形を間接的に制御する。
【００７９】
ＩＧＭは、複雑な幾何学的モデルを用いて、インタラクティブワークをサポートする。ユーザがオブジェクトのグラフィックス表現に対して行った変化をモニタすることができ、望ましい場合、幾何学的表現にあらゆる変化を「完遂」させるようにユーザに要求する。図３を参照されたい。関連領域５０を表面５２ａおよび５２ｂを用いて再分割するために、まず表面を正確に位置づけなければならない。これは表面幾何学のみのグラフィックスをインタラクティブに操作することによって行うことができるであろう。この相においては、幾何学的モデルは、スクリーンに見えているものと一致していない。次に、表面を幾何学的モデルに組み込むために分類を行う。やや時間のかかるこのプロセスの後、幾何学的モデル５８およびスクリーン５４上の表現が再び一致する。
【００８０】
グラフィックスシステムと幾何学的システムの双方は、拡張システムである。この２つのシステムを統合する際の最初の設計上の選択は、１つのシステムを最初のシステムと見て、それを他方のシステムにおいて見られる機能性によって最初のシステムを拡張するか、または、双方のサブシステムの上部の統合層を作成するかのいずれかである。本モデルは、後者のアプローチを用いる。必要に応じて、いずれかのサブシステムを取り換えることができるグラフィックスシステムと幾何学的システムを統合する統合層を用いることで、グラフィックス操作と幾何学的操作とが明確に分離し、そして、各サブシステムが異なるホストにおいて分散された実行を行うことができる。
【００８１】
統合層はＣ++において実行される。次の設計上の選択は、多重継承を使用するか、オブジェクト集合体を使用するかである。多重継承によって、孫は子の親を、それらの互いの下位にアクセスすることなく継承する。１つの階層における下位が他の改造構造における下位と関連する「いとこ」関係をモデリングすることが望ましい。したがって、多重継承は適切ではない。
【００８２】
さらに、好ましい態様は、サブシステムを完全には密閉せず、むしろそれらをアプリケーションに対して露出させている。これはオーバーヘッドを最小化する。なぜなら、それはオブジェクトをいくつかのそれらのそれぞれのサブシステムに特異的な操作に対して接近しやすい状態にし、一方、統合層において定義された唯一のオブジェクトを管理することを可能にしている。データの一貫性コントロールは、サブシステム間に矛盾が結果的に生成されることを避けることを助長する。
【００８３】
本モデルは、統合層の設計において「オブジェクト集合体」を用いる。「AggregateObject」クラス２１０は、オブジェクトのGeometryObject表現２１２およびGraphicsObject表現２１４の共通の局面を図７に示すように密閉している。ライン２２０および２２２は、一方の端部に矢印を持つラインによって示された、１対多数の関係を示しており、その「１つの」関係が矢印をもつ端部にある。例えば、ライン２２２は、単一のアプリケーション２２８が複数のAggregateObjectを管理し、そのうちの１つがAggregateObject２１０であることを示している（その他は図示していない）。ライン２１６、２１８は、１対１関係を示している。示されている実施例において、AggregateObject２１０は、１つのGraphicsObject２１４および１つのGeometryObject２１２を有している。GraphicsObjectクラスは、GeometryObjectの多数のグラフィックビュー２２７および２２９を含んでもよい。
【００８４】
図７に示された「IgmAction」クラス２２４は、位相グラフを横断し、グラフィックス表現を生成するか、使われていないグラフィックスオブジェクトを除去するシーングラフを横断するか、または幾何学的オブジェクトを横断するかのいずれかが要求される方法を密閉している。
【００８５】
GeometryObjectクラス階層は、図８に示された幾何学的サブシステム中の幾何学的オブジェクトのためにC++ラッパーを提供する。ツリーの最上部において、IgmObject ２３０は、GeometryObject ベースクラスである。gmGeometry クラス２３２（図８における"gm"と"Geometry"の間の下線のように図に示された図中の不定の名称の下線は、明細書のテキスト部分に残されている）は、IgmObjectのサブクラスであり、サブクラス化は、ライン２３４のような矢印のついたラインによって表されている。gmGeometryクラスは、特徴のためのgmFeature２３６とセルのためのgmCell２３８の２つのサブクラスを持ち、このサブクラス化は、ライン２４０によって示されている。gmFeatureクラスおよびgmCellクラスは、特徴およびセルに対してGQI handleをそれぞれ保存している。gmFeatureクラスは、多数のサブクラスを有しており、それは、平面のためのgmPlane２４２、ボックスのためのgmBox ２４４、ウェブのためのgmweb ２４６、ＩＳＰのためのgmISP２４８、およびその他２５０を含む。サブクラス化はライン２５２によって示されている。
【００８６】
図９に示されているように、GraphicsObjectクラス階層は、スクリーン上に表現することができるオブジェクトを記載する。GraphicsObjectクラスは、 GeometryObjectsを表現し、図表による対話を扱う役割を担っている。GraphicsObjectツリーの最上部には、OPEN INVENTORのSoWrapperKit２５４があり、それは、シーンサブグラフを構築し、管理するためのメカニズムを提供する。典型的にそれらのサブグラフは、属性および形状ノードを包含している。したがって、SoWrapperKits は、属性と形状を関連付け、グラフィックスサブシステムと幾何学的サブシステムの間の属性表現ミスマッチを扱う単純な方法を提供する。oiBaseKit２５６は、ライン２５８で示されているようにSoWrapperKitのサブクラスである。このoiBasekitは、oiFeatureクラス２６０、oiCellクラス２６２およびoinongmBasekitクラス２６４を含む多数のサブクラスを持ち、サブクラス化は、ライン２６６で示されている。oiFeatureクラスは、oiBoxクラス２６８、oiwebクラス２７０、oiISPクラス２７２および他のクラス２７４を含む多数のサブクラスを持ち、サブクラス化は、ライン２７６で示されている。さらに、幾何学的モデルの一部ではないオブジェクトを表現するoinongmBaseKitは多数のサブクラスを持ち、サブクラス化は、ライン２８０で示されている。
【００８７】
幾何学的モデルの一部ではないオブジェクトグラフィックスオブジェクトを除き、グラフィックスオブジェクトは、図６に示されているような、それらの対応するGeometryObjectsを表現する流れを表すシーングラフを包含する。例えば、ＩＳＰモデルのためのGraphicsObjectは、その連続する特徴を表すGraphicsObjectsが入れられているシーングラフを含むことができる。アプリケーションは、それら自身のシーングラフにGraphicsObjectsを加え、幾何学的モデルの望ましい部分を表現している。通常、アプリケーションは、新たな分類されていないオブジェクトの GraphicsObjectをシーングラフに追加している。分類後、新たなオブジェクトは、複合体オブジェクトの一部となり、そのその「独立の」表現は、シーングラフから除去される。ＩＳＰモデルのためのGraphicsObjectは、シーングラフに追加されるか、またはすでに追加されている場合、更新される。
【００８８】
ユーザの対話を通して、GraphicsObjectに加えられた変更は、Open Inventor センサによってモニタすることができる。センサは、変更のAggregateObject を通知するコールバックを誘発することができる。ユーザは、IGMインタラクタを介してGraphicsObjectと対話する。ユーザが満足するまでは、変更はグラフィカルのみであり、アプリケーションは、AggregateObjectにGraphicsObjectを通知し、GeometryObjectに対する変更を伝えるよう通知する。
【００８９】
必要に応じて、特殊化が可能であるにもかかわらず、GraphicsObjectsは、GeometryObjectsによって特殊化される必要はない。多くの場合において、必要な機能性を密閉するには、一般のGraphicsObjectで十分である。例外として、GeometryObjectから構築されてはいない純粋なグラフィカルな表現が存在するオブジェクト、例えば、分類される前に表面が押出し成型曲面で構築されたもの、および編集もしくは変形するための、ウェブ表面のような特別な対話を要求するオブジェクトが含まれる。
【００９０】
AggregateObjectクラス階層は、図１０に示すように、統合されたオブジェクトを表現している。AggregateObjectクラスツリーの最上部には、IgmObject２３０があり、それはまた、GeometryObjectクラス階層の最上部でもあった（図８参照）。agBaseクラス２８０は、IgmObjectクラス２３０のサブクラスであり、サブクラス化は、ライン２８２で示される。agBaseClassクラスは、agGeometryクラス２８４およびagBaseClassクラス２８６の2つのサブクラスを持ち、サブクラス化は、ライン２８８で示される。agGeometryクラスは、agFeatureクラス２９０およびagcellクラス２９２の2つのサブクラスを持ち、サブクラス化は、ライン２９４で示されている。nagBaseクラス２８６は、幾何学的モデルの一部ではないオブジェクトを表し、複数のサブ-クラス２９６を持ち、サブクラス化は、ライン２９８によって示されている。agFeatureクラスは、agPlaneクラス３００、agBoxクラス３０２、agwebクラス３０４、agISPクラス３０６および他のクラス３０８を含む、多数のサブ-クラスを持ち、サブクラス化は、ライン３１０で示されている。
【００９１】
AggregateObjectは、GraphicsObjectとGeometryObjectとの間で共有されるデータ統合および方法を表す。図１１に示すように、例えば、agPlaneオブジェクトは、その対応するGraphicsObjectsおよびGeometryObjectsと一緒にクラス階層を形成する。階層の大半は、図８〜１０に示されたクラス階層から抽出されたものである。ライン３２０によって表された集合体クラスとグラフィックスクラスの間の関連性、およびライン３２２によって表された集合体クラスと幾何学的クラスの間の関連性が集合体に追加され、集合体を表現している。
【００９２】
AggregateObjectsは、オブジェクトパラメータ、例えば、点および面の法線から構築することができる。AggregateObjectクラスは、その対応するGraphicsObjectsおよびGeometryObjectsを構築するための方法を提供する。アプリケーションは、いつサブオブジェクトを作成すべきかをコントロールする。
【００９３】
あるいは、AggregateObjectsは、存在するGraphicsObjectsまたは存在するGeometryObjectsから構築することができる。これによって、アプリケーションがグラフィックス表現と等価のパッケージのみからのオブジェクトを導入することができるようになる（例えば、他のOPEN INVENTORアプリケーション)。より重要なことには、アプリケーションが、持続的な保存のために、GeometryObjects表現を使用し、形状、位相的および属性情報によって、完結することができるようになる。典型的に、AggregateObjectsとGraphicsObjectsは、持続的な保存からGeometryObjectsをローディングしているその進行中に作成される。
【００９４】
この３つのクラスツリーは類似しているが、いくつかの相違点がある。例えば、この３つのクラスツリーは、深さが相違する。３つすべてのクラスは、動的タイプ確認をサポートしている。
【００９５】
IGMは、一般的なGraphicsObjects、GeometryObjects及びAggregateObjectsに加えて、多くの標準的なオブジェクトを定義する。例えば、GeometryObject クラス階層は、多くのサブ-クラスを含む。なぜなら、それらは、幾何学的システムによってモデリングされ得る異なるオブジェクトを密閉しているからである。GraphicsObject階層は、より少ないオブジェクトを含む。なぜなら、多くのGeometryObjectsは、一般的な方法を用いて表現することができるからである。例えば、図８の面２４２のための特別なGeometryObjectが存在するが、図９に示されているような特別なGraphicsObjectは存在しない。メッシュ状表面のような他のオブジェクトおよび複合体オブジェクトは、特別なGraphicsObjectsにおいて実行される、インタラクティブな編集をサポートすることを必要としている。複合体オブジェクトは、相当に複雑になってもよく、コンポーネント基準での更新を管理する特別なクラスに密閉されていてもよい。
【００９６】
図７に示すように、アプリケーションは、AggregateObjects をインスタンス化し、管理する。AggregateObjectsはまた、AggregateObjectsへのコール３３０によって、グラフィックス操作及び幾何学的操作をも提供する。それは、図１２に示すように、その後、委託経路３３２を通ってGraphicsObject２１４へ、または、委託経路３３４を通ってGeometryObject ２１２へのいずれかの適切なサブオブジェクトに委託される。アプリケーションはまた、図１３に示すように、それぞれ、コール経路３３６および３３８を介してのGraphicsObjects およびGeometryObjectsへのリードオンリーアクセスをも備え、システムの一貫性に影響を及ぼさない操作を行う。この露出によって、最小のオーバーヘッド要件を満たすことができる。なぜなら、AggregateObject におけるGraphicsObject方法またはGeometryObject方法の反復を最小とすることができるからである。
【００９７】
そのルートクラスがmpMap３４０（それ自身は、ライン３４２で示したように Igmobject クラス２３０内に定着している）である、図１４に示された特別なクラスは、物理的特性から表現可能な属性へ、必要なデータフォーマットの翻訳およびマッピングを実行する。例えば、ライン３４６で示されたように、mpMapクラスからサブクラス化されたmpColorMapクラス３４４、およびライン３５０で示されたように、mpColorMapクラス３４４からサブクラス化されたmpCLutMapクラス３４８は、多くの方法で標識化されたカラーマップを提供する。ライン３５４で示されたように、mpCLutMapクラスからサブクラス化されたmpCLutDoubleMapクラス３５２は、２倍の精密な変動点の数の範囲でカラーをマップする方法を提供する。mpMapおよびmpCLutMapクラスからそれぞれサブクラス化された、他のクラス３５６および３５８も存在する。
【００９８】
GraphicsObjectがOpen Inventorセンサを使用するのと同様に、GeometryObjectは、GQI/Shapes属性を通じて利用可能なコールバックメカニズムを使用するAggregateObjectは、幾何学的オブジェクトの状態への変化が通知される。
【００９９】
AggregateObjectは、多数のタスクを遂行し、その２つが一貫性のコントロールとデータ変換管理である、それをより詳細に説明する。該タスクは：
１．GraphicsObjectとGeometryObjectとを統合し、アプリケーションに、幾何学的システムおよびグラフィックスシステムに対する簡単なインタフェースを提供する。
【０１００】
２．オブジェクトの一貫性を管理する。例えば、GraphicsObject 変換をインタラクティブに行うことができる。一方、GeometryObject変換には時間がかかるかもしれない。なぜなら、再計算するために交差および位相関係が必要だからである。AggregateObjectは、変換が両方のサブシステムに適用されたかどうかを追跡する。
【０１０１】
３．編集操作の副作用を最小限にする。ＩＳＰオブジェクトの全てが典型的に複合体オブジェクトを含む分類による影響を受けるわけではない、多くのサブオブジェクトで構成してもよい。境界表現レベルでの状態変化を管理することによって、AggregateObjectは、必要とされる更新の位置を突き止める。
【０１０２】
４．GeometryObjectとGraphicsObjectとの間の「均一な(flat)幾何学的データ」変換を管理する。均一な幾何学的データは、位相関係の表示のない形状データの表示である。
【０１０３】
５．管理を選択する。選択は、通常、GraphicsObjectによって開始されるが、いくつかのサブ-クラスは、対応するGeometryObjectによって行われる。その結果、AggregateObject座標選択および交信が行われる。
【０１０４】
ＩＧＭによって統合される２つのサブシステムは、常に一致しているわけではない。すなわち、それらは、時々同じ幾何学的データの一貫性のない表示を有していることもある。しばしば、この２つのサブシステムは、拡張された編集操作の性能を改良するために、意図的に一致させないでおくことがある。
【０１０５】
２つのサブシステムの、有限数の可能な「有効／無効」状態およびAggregateObjectは、図１５に示すように、該２つのサブオブジェクトを可変な状態とした有限状態機械として取り扱われることができる。サブオブジェクトは、それらが最後のユーザ対話の結果を表しているかどうかにしたがって、「有効」か「無効」とすることができる。AggregateObjectは、１つの状態から別の状態への遷移をモニタし、管理することによって、一貫性を管理し、処理速度の不一致の問題に対処する。
【０１０６】
状態機械は、種々の事象に対応して変化させることによって操作する。 GraphicsObjectおよびGeometryObjectの双方が有効であるとした場合、それは、システムが状態３６０にあることを意味する。状態３６０のような状態を表すボックスの左半分は、GraphicsObjectが有効もしくは無効の場合、それぞれ陰影を付けるか、もしくは付けていない。状態３６０を表すボックスの双方の半分に陰影が付けられているとき、それはGraphicsObjectおよびGeometryObjectの双方が有効であることを示す。
【０１０７】
今、GraphicsObjectが変化すると想定する。そのような変化の例は、グラフィックスオブジェクトを選択し、その動きにコミットすることなくそれを移動させるアプリケーションであろう。そのような変化は、GraphicsObjectは有効であるが、GeometryObjectは無効である状態３６４への遷移３６２によって表される。GraphicsObjectがさらに変化した場合、遷移３６６に示されているように、システムはこの状態から遷移しない。
【０１０８】
もし、GraphicsObjectに対する変更が、GeometryObjectでなされる変更(移動された表面の分類等)を引き起こすことに関与していたら、または、もし、GeometryObjectが作成されたら、システムは、GraphicsObjectおよびGeometryObjecの双方が有効である状態３６０へ後ろ向きに遷移３６８する。そうではなく、もしパラメータが変化したら、システムは、GraphicsObjectおよびGeometryObjecの双方が無効である状態３７２へと遷移３７０する。さらに、パラメータの設定もしくは変更は、システムを状態３７２のままにすることもある。
【０１０９】
システムは、２つの環境において、状態３７２に放置することができる。システムがGraphicsObjectを作成したら、システムは、GraphicsObjectが有効であり、GeometryObject が無効である状態３６４へ遷移３７４する。そうではなく、システムがGeometryObjectを作成したら、システムは、GraphicsObjectが無効で、GeometryObjectが有効である状態３７８に遷移３７６する、。システムは、GeometryObjectにおいて更なる変化３８０が起こるまでは状態３７８のままである。GraphicsObjectが更新されるか、またはGraphicsObjectが作成された場合、システムは、状態３６０に遷移３８２する。そうではなく、パラメータが変化した場合、システムは、状態３７８から、GeometryObjectおよびGraphicsObjectの双方が無効である状態３７２へ遷移３８４する。
【０１１０】
図３の実施例を検討する。そこでは、ユーザは、新たな表面をスクリーン上に位置づける。表面のグラフィックス表現は、それらが、ユーザによって意図された形状および位置を持つまで、有効である。幾何学的モデルは、無効である。なぜなら、そのオブジェクトは、それらの間の位相関係を確立しないなら、存在するオブジェクトと重なるからである。したがって、該システムは、状態３６４にある。一旦、ユーザが変更に関与すると、該システムは、状態３６０に遷移３６８し、幾何学を変更させ、グラフィックスを更新させる。
【０１１１】
GeometryObjectとGraphicsObjectとの間の複雑な変換を行う方法は、図７に示されるように、それら独自のクラスとして実行することができ、それら独自のベースクラスは、IgmAction２２４と称される。IgmActionは、gg_Action（およびそのサブクラス）を使用して、幾何学からグラフィックスを生成する。gm_objectは、ag_objectまたはoi_objectの助けによって、グラフィックスオブジェクトから幾何学的オブジェクトを生成する（gqi instance）。igm_Objectクラスに導き出されるgg_Action オブジェクトは、位相グラフを横断することができ、望ましい操作を行い、適切であれば、個別のオブジェクトに方法をコールする。ggActionは、サブシステム間の幾何学的オブジェクト表現ミスマッチを扱うコンポーネントである。それは、AggregateObjectによって使用され、一貫性のある管理をサポートする。
【０１１２】
いくつかの異なる表現モードにしたがって、GeometryObjects からGraphicsObjectsを作成し、または更新することができるIgmActionの例を述べる。それに依存して、GraphicsObjectsは、表現すべき、異なる属性および形状を含むことになるだろう。表現モードとしては以下が含まれる。
【０１１３】
１.サブボリュームの表現であって、そこでは、表面と境界をなす各ボリュームが表現される（隣接するボリュームの境界は、１回だけ表現される）。このモードでは、 ピックスリターンボリューム（picks return volume）オブジェクトおよび切り取られたボリュームが閉じられたオブジェクトとして表現されている（切り開かれたボリュームの反対のボリュームとして）。
【０１１４】
２．空間を分割する表面の表現。ピックスリターン表面およびクリッピングを表面の穴に作成してもよい。
【０１１５】
モードの表現の管理は、GraphicsObjectsがそれらの対応するGeometryObjectsの視覚表現であることを示している。上記したように、２つのタイプの間には１対１の関係は存在しない。例えば、ボリュームを表現するGraphicsObjectによってどの形状が表現されるかは、隣接するオブジェクトおよびクリッピング面に依存する。
【０１１６】
３Ｄビューに表示されるべき全てのオブジェクトではないが、必然的にオブジェクトは、幾何学的モデルの一部を形成もしくは形成することを意図されている。例としては、テキスト、シンボル、グリフがあげられる。さらに、多くのアプリケーションが表現されるが、幾何学的モデルの一部ではない。幾何学的解釈を持つデータを用いて機能する。地球科学の例は、 ボアホール軌跡（borehole trajectory）がある。これは引用によってのみ表す。ＩＧＭは、agBaseClass２８０(図１０)を提供する。「非幾何学的モデル」オブジェクトのようなもののためのnagBaseClass２８６がそれに由来する。nagBaseClassの等価GraphicsObjectは、oinongmBaseKit２６４（図９）である。
【０１１７】
このアプローチによって、アプリケーションは、幾何学的モデルに用いられるべきものであるかどうかにかかわらず、１つの一般的なタイプのオブジェクトが幾何学的モデルのために用いられることができるようにする。例えば、SceneManagerクラスは、１以上のアプリケーションウインドウに表示されているか、隠されているように、オブジェクトを追跡するように書かれている。さらに、nagBaseClassのサブクラスは、GraphicObjects と全体とのデータベースにおける結合を密閉することができる。
本発明は、ハードウェアにおいてもソフトウェアにおいても、あるいはその両方においても実行することができる。しかしながら、本発明は好ましくは、  プロセッサ、保存システム（揮発性および不揮発性メモリおよび/または保存エレメントを含む）、少なくとも１つの入力および少なくとも１つの出力装置を備えたプログラム可能なコンピュータ上で実行されるコンピュータプログラム内において実行される。プログラムコードは、入力データに適用され、上記の機能を行い、情報を出力する。出力された情報は、１以上の出力装置に公知の方法で適用する。
【０１１８】
図１６を参照されたい。そこでは、第１のボリューム４００および第２のボリューム４０２が表面セル４０１によって分離されている。ボリュームセル４００および４０２の右側に、表面セル４０１に対応する表面特徴４０４によって示された一連の注釈（note interpretations）がある。表面特徴ノード４０４は、色マテリアルのないグラフィックスコンテンツであるノードＭＰ４０６、ＭＢ４０８および面４１０を含む。ボリュームセル４００は、ＭＰ４１４、ＭＢ４１６および表面４１８を持つボリューム４０１２のノード表現を持つ。ノート表現（note representation）を持つ第２のボリューム４０２の一部は、ノード４２０のボリューム２、ＭＰ４２２、ＭＢ４２４および面４２６によって率いられる。
【０１１９】
図１７は、ボリューム４２８およびボリューム ４３０を持つ類似のボリューム表面セル配置が、表面セル４２９によって分離されている異なる実行を示している。このノード表現には、図１６のノード表現とは有意な差がある。図１６に示されたノード表現同様、図１７に示されているように、表面特徴ノード４３２、ボリュームノード４３８およびボリュームノード４４４が存在する。しかしながら、図１７に示されているように、本発明の実施形態のいくつかは、表面特徴ノード４３２、ボリュームノード４３８およびボリュームノード４４４に連結した共通の表面４５０を持っている。図１７に示されているように、ＭＰ４３４、ＭＰ４４０、ＭＰ４４６ならびにＭＢ４３６、ＭＢ４４２およびＭＢ４４８のような他のエレメントも連結されている。
【０１２０】
図１８ａは、本発明によって説明することができる種々のボリュームおよび表面特徴の２次元的な表現である。特に、ボリュームＡｌ ４５２、Ｂ１ ４５６、Ａ２ ４５４およびＢ２ ４５８は、表面特徴ＨＩ４６０、Ｆ１ ４６４、Ｆ２ ４６６、Ｈ２ ４６２およびＦ３ ４６８によって分離されている。図１８ａの種々の表面およびボリュームを図１８ｂにノードの形式で示す。特に、表面ルート４７０は、表面ノードのすべてを含んでいる。ボリュームルート４８６は、ボリュームノードのすべてを含んでいる。例えば、表面特徴Ｈ４７２は、図１８ａのＨ１ ４６０およびＨ２ ４６２にそれぞれ対応する表面特徴Ｈ１ ４７４およびＨ２ ４７６を有している。同様に、図１８ａのＦ１ ４６４、Ｆ２ ４６６およびＦ３ ４６８に対応する他の表面特徴Ｆ１ ４８０、Ｆ２ ４８２およびＦ３ ４８４も存在する。図１８ａに示されるボリュームエレメントは、対応するノード表現を図１８ｂの右側に 有している。特にノードボリューム４８８、ノードボリューム４９０、ノードボリューム４９２およびノードボリューム４９４は、図１８ａのボリューム４５２、４５４、４５６および４５８に対応している。グラフィックスコンテンツ４７４、４７６、４８０、４８２および４８４は、表面ルート４７０に定着し、表面シーングラフおよびボリュームルート４８６に定着したボリュームシーングラフを含んでいる。
【０１２１】
本発明のフレームワーク
本発明は、その他の実行の低レベルのＧＱＩ Ｃ-構造メカニズムを新たなフレームワークで置き換える。性能をさらに改良するため、上記コアgmMPフレームワーククラスは、もはやＩＧＭに依存しない。本発明は、ソフトウェア、例えば、デジタルコンピュータとして実行される、１セットのオブジェクトインスタンスからなる。しかしながら、本発明は、ハードウェア、またはハードウェアおよびソフトウェアの組み合わせにおいても完全に適用可能である。
【０１２２】
図２０は、互いに関連する１セットのモジュラーアプリケーション エンティティを含む本発明のフレームワーク２００２を示す。例えば、モデリングオフィスアプリケーション(Modeling Office Application)２００４、ジェミニアプリケーション（Gemini Application）２００６、ジオステアリングアプリケーション（GeoSteering Application）２００８、High-Angle Well Evaluation Application２０１０、および１以上のリサーチプロトタイプモジュール２０１２が存在し、そのすべては、Common Model Builder２０１４と、図２０に示されているように機能する。Common Model Builder２０１４は、そのベースクラスにおいて図２０の他のモジュールのサービスに対してインタフェースを提供する。種々のアプリケーションは、Common Model Builderベースクラスを直接用いることもできるし、それらから誘発して特別な動作を実現することもできる。他のサービスはとしては、インタラクティブ幾何学的モデリングライブラリ（ＩＧＭ）２０１６およびGeoFrame のためのデータアクセスＡＰＩであるApplication Data Interface ADI２０２６がある。幾何学的クエリーインタフェース（ＧＱＩ）２０２０は、ＩＧＭ２０１６およびＡＤＩ２０２６の双方と操作する。ＩＧＭ２０１６とＧＱＩ２０２０の双方は、マテリアルプロパティエレメントＩＧＭ ＭＰ２０１８およびＧＱＩ ＭＰ２０２２をそれぞれ有している。図２０に示されているように、ＩＧＭ ＭＰ２０１８はＧＱＩ ＭＰ２０２２と操作する。最後に、グラフィックスライブラリ２０２４は、種々のモジュールによって用いられるデータのグラフィカルの表現を実行する。グラフィックスライブラリ２０２４は、図２０に記載のようにＩＧＭ２０１６と操作する。
【０１２３】
図２１は、ＧＱＩマテリアルプロパティフレームワークのための１セットのオブジェクトを示す。特に、ＧＱＩマテリアルプロパティフレームワーク２０２２は、図２１に示されているように、cc_RefObjオブジェクト２１５０とIsA関係を有するgmMP２１０４を含む１セットのオブジェクトを含む。cc_RefObjオブジェクト２１５０とIsA関係を有するgmMPPolicyオブジェクト２１０６も存在する。図２１に示されているように、gmMPPolicy クラス２１０６と構成関係を有するgmMPTopologyTraversalStatesオブジェクト２１１８も存在する。
【０１２４】
gmMPConstantオブジェクト２１２０は、gmMPオブジェクト２１０４とIsA関係を有する。図２１に示すように、gmUtilFtrBndPolicy オブジェクト２１０８は、gmMPGQIPolicyオブジェクト２１１０とIsA 関係を有する。図２１に示すように、gmSysPSPPolicyオブジェクト２１１２、gmSysRulesPolicyオブジェクト２１１４、およびgmMPVolumePropertyPolicyオブジェクト２１１６を含む他のいくつかのポリシーオブジェクトはすべて、gmMPPolicy オブジェクト ２１０６とIsA関係を有する。さらに、gmSysPSPPolicy オブジェクト２１１２は、gmSysPSPProperty オブジェクト２１２４とポリシー構成関係を有する。同様に、gmSysRulesPolicyオブジェクト２１１４は、gmSysRules オブジェクト２１２２とポリシー構成関係を有する。gmUtilFtrBndオブジェクト２１２６は、グループの最後であり、gmSysRules２１２２およびgmSysPSPPropertyオブジェクト ２１２４とともに、それは、gmMPConstant オブジェクト２１２０とIsA 関係を有する。図２１に示すように、gmMPVolumePropertyPolicyオブジェクト２１１６もgmMPConstant オブジェクト２１２０と構成関係を有する。最後に、GQI マテリアルプロパティフレームワーク２０２２も任意にgmutil_statusオブジェクト２１２８およびmv_vtオブジェクト２１３０およびgm_mp_atomsオブジェクト２１３２を含み、そのすべては、本発明の情報の保存および処理において対話および関係を促進する。
【０１２５】
図２２は、ＧＱＩマテリアルプロパティフレームワーク２０２２とＩＧＭマテリアルプロパティフレームワーク２０１８との間の内部関係を示す。ＩＧＭマテリアルプロパティフレームワーク２０１８は、とりわけ、gmMPNameオブジェクト２２３０と構成ポリシー関係を有するgmMPNamePropertyPolicy オブジェクト２２２８を含む。gmMPIGMPropertyPolicyオブジェクト２２３４は、mbCeIIGMReference オブジェクト２２３２およびmbFtrGMReference オブジェクト２２３６と２つの別個の構成ポリシー関係をもつ。図２２に示すようにgmMPName オブジェクト２２３０、mbCellGMReferenceオブジェクト２２３２、mbFtrGMReferenceオブジェクト２２３６、ならびにvspQualityPropオブジェクト２２３８、vspTransverseIsotroppyオブジェクト２２４０およびfbFtrParametersオブジェクト２２４２は、すべてgmMPConstantオブジェクト２１２０とIsA関係を有する。別のサブセットのオブジェクト、特に、gmMPZオブジェクト２２１６、ならびにgmMPTimeオブジェクト２２１８およびgmMPDepthオブジェクト２２２０も存在する。後の２つのオブジェクトは、前のオブジェクト、すなわち、gmMPZ ２２１６とIsA関係を有する。また、このサブセットには、図２２に示すように、gmMP2DPolyオブジェクト２２２２、gmMP2DGrid オブジェクト２２２４、およびgmMP3DGridオブジェクト２２２６も存在する。gmMPZオブジェクト２２１６、ならびにgmMP2DPolyオブジェクト２２２２およびgmMP2DGridオブジェクト２２２４およびgmMP3DGridオブジェクト２２２６のすべては、gmMP オブジェクト２１０４とIsA関係を有する。ＩＧＭマテリアルプロパティフレームワーク２０１８に含まれる最後のオブジェクトのサブセットが存在する。すなわち、ＧＱＩマテリアルプロパティフレームワーク２０２２のgmMP オブジェクト２１０４とIsA関係を有するgmMPPolyXYZ オブジェクト２２０４が存在する。最後に、gmGradientPropオブジェクト２２０６とIsA関係を有する４つのオブジェクト、すなわち、vspDensPropオブジェクト２２０８、vspVelPPropオブジェクト２２１０、vspVelSPropオブジェクト２２１２およびgmResistivityPropオブジェクト２２１４が存在する。
【０１２６】
図２３は、ＧＱＩマテリアルプロパティフレームワーク２０２２とＩＧＭマテリアルプロパティフレームワーク２０１８との間の関係を示す。特に、gmUtilFtrBndPolicyオブジェクト２１０８およびgmMPIGMPropertyPolicy オブジェクト２２３４が存在し、後者は、gmUtilFtrBndPolicyオブジェクト２１０８とIsA関係を有する。ＧＱＩマテリアルプロパティフレームワーク２０２２内には、gmMPVolumePropertyPolicyオブジェクト２１１６が存在する。図２３に示すように、ＩＧＭマテリアルプロパティフレームワーク２０１８のgmMPNamePropertyPolicyオブジェクト２２２８は、gmMPVolumePropertyPolicyオブジェクト２１１６とIsA関係を有する。同様に、図２３に示したように、gmMPVolumePropertyPolicyオブジェクト２１１６は、gmMPZオブジェクト２２１６およびgmGradientPropオブジェクト ２２０６と構成関係を有する。
【０１２７】
図２４は、データ、好ましくは地震のデータの計算および表示を促進するための本発明のオブジェクトの配列を示す。図２４は、gqi_Core オブジェクト２０１８とIsA関係を有するgqi_AttachmentSiteオブジェクト２２０４を示す。図２４に示したように、gqi_AttachmentSite オブジェクト２２０４およびgqi_Coreオブジェクト２４０２の双方にmp XAttrオブジェクト２４０８および２４０６がそれぞれ存在する。
gqi_AttachmentSiteオブジェクト２２０４は、gqi_MetaProperty オブジェクト２４１２と操作関係を有する。同様に、gqi_Coreオブジェクト２４０２は、gqi_MetaProperty オブジェクト２４１０と操作関係を有する。図２４に示したように、gmMPオブジェクト２１０４は、gqi_MetaProperty２４１２およびgqi_MetaProperty２４１０の双方と0.. n表現の操作関係を有する。aqi_Parameterオブジェクト２４１４は、図２４に示すように、gmMP オブジェクト２１０４と0.. n表現の操作関係を有する（プロパティＤＩ）。gmMPPolicyオブジェクト２１０６は、gmMP オブジェクト２１０４と構成関係を有する。最後に、gmMPTopologyTraversalStateオブジェクト２４１６は、gmMPPolicy オブジェクト２１０６と操作関係を有する。
【０１２８】
図２１および２２によれば、マテリアルプロパティフレームワーククラスは、４つのカテゴリーに分類できる。システムクラス（図２１の２１０４、２１０６、２１０８、２１１０、２１１２、２１１４、２１１８、２１２２、２１２４、２１２６、２１２８、２１３０および２１３２）は、ＧＱＩの操作(例えば、ポイント設定保存、特徴境界トラッキング)をサポートする。ＩＧＭクラス（図２２の２２３２、２２３４および２２３６）(例えば、特徴バックポインタ)は、システムクラスから分離しなければならない。なぜなら、それらはＩＧＭに依存しているからである。そのシステムクラスは、内部使用に厳密に限定されており、アプリケーションから導き出されたり、インスタンス化されるべきではない。アプリケーションサポートプロパティクラス（図２１および２２の２１２０、２２０４，２２０６、２２１６および２２２８）は、アタッチ、不変の保守および評価のためのアプリケーション（およびシステムコンポーネント）によって要求される基本的なメカニズムを実行する。それらは、アプリケーションから誘導されてもよいし、場合によっては、アプリケーションによって直接使用されてもよい。またシステムクラスは、これらのアプリケーションサポートクラスから誘導されることが好ましい。最後に、第４のセットのクラスである、アプリケーションクラス（図２２の２２０８、２２１０、２２１２、２２１４、２２１８、２２２０、２２２２、２２２４、２２２６、２２３０、２２３８、２２４０および２２４２）は、マテリアルプロパティの直接的な表現のためのアプリケーションによって直接使用されることが意図されている。
アブストラクトベースクラス(Abstract Base Classes)
図２１および２２のgmMPクラス２１０４は、マテリアルプロパティ表現クラスの基本的な動作を定義している。それは下記の性能を直接サポートする。
【０１２９】
-  mp_classインスタンスのリード/ライト。リード/ライト、バリュータイプのスキャン/プリント/パック/アンパックの間、同じインスタンスを多数回参照するトラッキングを含む；
-  形状編集事象コールバックの方法を提供するアタッチメントポリシーの参照を維持（下記参照）；
-  リターンタイプ（evalDouble、evalPtr、evalString、evalOnPolyLine、evalMinMax）によるプロパティ評価のためのインスタンス方法；
-  プロパティ名（evalPropertyDouble、evalPropertyPtr、evalPropertyString、evalPropertyMinMax）によるプロパティ評価のための分類方法；
-  gmMP誘導クラスインスタンスをルックアップするための多種多様な方法；エバリュエータクラスおよびサイト、サイトおよびプロパティＤＩによる、サイト、プロパティコード（および任意に、プロパティクラスネーム）による；および
-  インデックスプロパティアタッチメントに使用されるプロパティＤＩのデフォルト構築。
【０１３０】
gmMPクラス２１０４はまた、上記方法によって用いられる、誘導されたクラスのすべてのインスタンスを管理するため、および必要なルックアップ性能をサポートするために用いられるデータ構造を提供する。
【０１３１】
gmMPPolicyアブストラクトベースクラス２１０６は、下記の行動を実行する：
-   所与のポリシーに一致するマテリアルプロパティが伝播されるべきサブセルを列挙する位相横断ジェネレータ（topology traversal generator）の参照を維持する
-  事象ハンドラーによって呼び出された形状編集ハンドらーおよびダミー仮想インスタンス方法。再設計システムにおいて、すべての可能なコールバックがサポートされなければならない。前の設計においては、下記のみがgmMPPolicy レベルにサポートされた： CellCopyCallback、CellDissociateCallback、CellSplitCallback、CellEmbedCallback、CellMergeCallback、CellDeleteCallback、FeatureAddChildCallback、FeatureRemoveChildCallback、FeatureReplaceChiIdCallback；
-  gmMPPolicyクラスを単体として実行する、それは、１つのインスタンスを取得および作成するために分類方法が提供されることを意味する。
【０１３２】
図２１のgm_MPTopologyTraversalState２１１８は、横断の状態を維持しながら横断を行うための繰返し子のような、異なるプロパティ伝播ポリシーおよび行動の複数のジェネレータを実行する。サポートされているジェネレータは以下を含む：
-  generateNone：ダミージェネレータ；
-  generateHereOnly：リストのヘッド、後続なし：
-  generateHereAndChildren：オープンリストのヘッドに返る；次のサイトがコアもしくは特徴である場合、後続は次のサイトの子。または、次のサイトが３セルの場合下位のブリッジ；
-  generateHereAndChildrenNoSubs：オープンリストのヘッドに返る；次のサイトがあらゆるグループである場合、後続は次のサイトの子。下位は生成されない；
-  generateChildrenOf3Cell：サブブリッジおよび３セルの下位２セルのみを横断。３セル自身は除外；
-  generateHereAndPartialBridges：開始セルから１つ下のレベルの部分セルブリッジへ位相を横断。参照セル（reference_cell）が無し（ＮＵＬＬ）の場合、存在する階層を横断している。参照セルが無し（ＮＵＬＬ）でない場合、その方向が参照セルが部分ブリッジのそれとマッチする部分ブリッジを作成する。および
-  generateSupBridgesOf2Cell：参照セルが所与であり、参照セルの方向とマッチする部分ブリッジを見つけ出し、または生成する場合、２セルのサップブリッジを横断。
【０１３３】
マテリアルプロパティ表現スキーム
形状属性、指定された「mp XATTR」図２４の２４０８および２４０６が、Shapesエンティティgqi_AttachmentSite２４０４とそれに対応するgqi_MetaPropertyインスタンス２４１２との間のマッピングを確立する。図２４からわかるように、より早いＣ構造ベースのスキームをgmMP インスタンス２１０４に対する直接参照と置き換えている。
【０１３４】
本発明の好ましい態様において、コアはもはや事象ハンドラーを管理しない。従来のプラクティスにおいて、事象ハンドラーは独立していなかったことがわかっている。代わりに、事象ハンドラーは２〜３セットの関連するハンドラーにまとめられる。本発明によれば、従来技術の事象ハンドラーは、今gmMPPolicyインスタンス２１０６によって表現されている（図２１および２４）。gmMPPolicy２１０６は、持続的な状態を持たないので（再び参入した横断がサポートされるべき場合、横断状態は、多数回インスタンス化されなければならない）、事象ハンドラー仮想機能テーブルの数を最小化するために単体パターンを使用する。
【０１３５】
本発明のエバリュエータは、gmMP２１０４(例えば、サブ機能)およびgmMP２１０４に導かれるクラスにおいて、仮想の機能として実行される。エバリュエータの数が増えるにしたがって、単体gmMPPolicy２１０６と類似のパターンを使用して、エバリュエータの数が増えているので、gmMP２１０４が誘導するクラスのためのエバリュエータを表現することもできる。しかしながら、gmMP２１０４インスタンスは、特別な「プロパティインスタンス」が伝播される、それぞれのアタッチメントサイトによって共有される。
【０１３６】
本発明のオブジェクトの設計は、上記２つの行動を２つの新たな対のクラスに分離する。
【０１３７】
ポイント設定保存
-  gmSysPSPProperty２１２４は、ポイント設定保存（「ＰＳＰ」）のためのアタッチメント意味論を持つ。gmSysPSPProperty２１２４のための最高レベルのアタッチメントサイトは、モデルコア自身である。１より多くのコアが存在する場合、多数のPropertyDI'sが生成され、それぞれのコアは分離されたアタッチメントを持つように考慮される。このプロパティのための他の持続する状態は存在しない。
【０１３８】
-  図２１のgmSysPSPPolicy２１１２は、ＰＳＰのための伝播ポリシーおよび編集コールバックを行う。
【０１３９】
ルール
-  図２１のgmSysRules２１２２は、 「コア」および「特徴」付ルールセットのためのアタッチメント意味論を持つ。これらのプロパティインスタンスの状態は、実際のルールアタッチメントとそれらのファイアリング状態(firing state)からなる。ルールの状態（フレームワークルールがアタッチされている。およびルール違反）がgmSysRulesプロパティインスタンス２１２２上での評価操作によって管理される。ファイアリングルールレゾルバは、gmSysRulesクラス２１２２によってのみ実行される異なる操作である。
【０１４０】
-  gmSysRulePolicy２１１４は、伝播ポリシーを実行し、ルール検出器をファイアすることを含む、このルールのためのコールバックを編集する。
【０１４１】
プロパティＤ１およびアタッチメント意味論
下記実施例に示すように、プロパティ(パラメータ)データ項目は、非常に特別なユーザが目視可能な意味論を提供する。指定されたプロパティ_コード、名前、変更子（およびLog Curve Naming変換をサポートする他の属性）がユーザ（または、ユーザのために機能するアプリケーション）によってアタッチされた。これらの属性によって、ユーザは、所与のサイトにおいて、多数の類似のプロパティから識別することが可能となる。
【０１４２】
TopLevelSiteと呼ばれるパラメータを持つgmMPデータメンバー２１０４は、 は、最高レベルのアタッチメントがなされたオリジナルのサイトを保存する。gmMPインスタンス２１０４の属性（例えば、デフォルトまたは値）が変更されれば、変更に関連するサイトが最高レベルのサイトでないならば、gmMPインスタンス２１０４のコピーを作成しなければならない。
【０１４３】
以下のポリシーがプロパティ（パラメータ）データ項目およびアタッチメントサイトの使用のために確立される：
１．プロパティのサイト（例えば、ボリューム）への、(他のトップレベルの割付のうち)すべての最高レベルの割付は、特有のプロパティＤ１およびgmMPサブクラスインスタンス２１０４に関連する。
【０１４４】
２．gmMPPolicyクラス２１０６が割付を伝播するすべてのサイト（例えば、ボリュームおよび境界をなす２セルの間のブリッジ）は、同じプロパティＤ１および同じgmMPインスタンス２１０４を受け取る。所与のポリシーは、２つの方向からの伝播により同じ部位にアタッチされた同じコードの多数のプロパティインスタンスを生じさせることができる。多数のプロパティインスタンスがサポートされるので、これは問題ではない。
【０１４５】
３.アプリケーションは、すでに同じコードのプロパティがアタッチされ、前記サブセルに伝播されているアタッチメントサイトのサブセルにプロパティをアタッチしてもよい。伝播されたアタッチメントは最高レベルではないが、明らかにアタッチされたプロパティインスタンスは最高レベルのアタッチメントであり、新たなプロパティＤ１が生成される。
【０１４６】
４. 最高レベルのアタッチメントのみが削除され得る。プロパティポリシークラスが削除を伝播する信頼性はそれがアタッチメントを伝播するのと同様である。
【０１４７】
有限状態機械
図１９は、本発明の有限状態機械を示す。特に、図１９にはボックス４９６で示された状態１、ボックス５００で示された状態２、ボックス５０２で示された状態３およびボックス４９８で示された状態４が存在する。状態１から状態４への遷移は、オブジェクトを操作５０４において見えないように設定することによるものである。状態１から状態２への遷移は、操作５０６においてグラフィックスを無効にすることによって達成される。状態２から状態３への遷移は、操作５１０においてオブジェクトを見えないように設定することによって達成される。状態４から状態３への遷移は、操作５０８においてグラフィックスを無効にすることによって達成される。状態４から状態１への遷移は、操作５１２においてグラフィックスオブジェクトを見えるように設定することによって達成される。状態２から状態１への遷移は、操作５１６においてグラフィックスを更新することによって達成される。最後に、操作５１４は、グラフィックスを更新され、かつ有効にし、図１９に示された状態３から状態１への遷移に対してオブジェクトを見えるように設定する。
【０１４８】
コールバックスキーム
図２６は、本発明のコールバックスキームを示す。図２６のオブジェクトの配列は、本発明のコールバック局面を示す。
【０１４９】
図２６に示すように、３つの主なオブジェクトが図２６の左側および中央部に存在する。上記のように、このオブジェクトは、幾何学、特徴およびセルの３つの一般的な局面を包含する。表記法上、一般的なカテゴリーのための頭文字を特別なオブジェクトの局面の前につけた。例えば、「ag」は、集合体（aggregate）を意味し、「gm」は、幾何学的モデリング（geometric modeling）を意味し、「oi」は、グラフィックスエンジンであるOPEN INVENTORを意味し、gqiは、幾何学的クエリーインタフェースを意味し、および、「X」は、幾何学的エンジンであるXOX-Shapesを意味する。
【０１５０】
図２６によれば、まず、図２６に記載のag_Geometryオブジェクト２８４とIsA関係２８８にあるag_BaseClass２８０（図１１参照）が存在する。gm_Geometryオブジェクト２３２は、ag_Geometry オブジェクト２８４とhasA関係３２２にあり、gqi_Geometry_tオブジェクト２６０８と別の関係２６５８の関係にある。
【０１５１】
図２６に示すように、集合体特徴オブジェクトag_Featurei２６３８および集合体セルオブジェクトag_Celli２６４４のインスタンスは、集合体幾何学的オブジェクトag_Geometry２８４と、それぞれIsA 関係２６４８および２６４９を通じて関連している。オープンインベンター特徴オブジェクトインスタンスoi_Featurei２６４０は、関連２６９９によってag_Featureiと効果を及ぼして関連している。同様に、オープンインベンターセルオブジェクトインスタンスoi_Celli２６４６は、関連２６９６を介してag_Celli２６４４と効果を及ぼして関連している。
【０１５２】
幾何学的モデリングオブジェクトインスタンスgm_Featurei２６３６ およびgm_Celli２６４２は、それぞれ関連２６９８および２６９４を介してag_Featurei２６９８およびag_Cellj２６４４と効果を及ぼして連結している。さらに、gm_Featurei オブジェクト２６３６は、gm_Geometryオブジェクト２３２と関係２６３７を持っている。gm_Celljオブジェクトは、同様に、gm_Geometry オブジェクト２３２と関係２６４３を持っている。
【０１５３】
図２６に示したように、X_Featurei オブジェクト２６１４が本発明によって提供される。X_Featurei オブジェクト２６１４は、gm_Featureiオブジェクト２６３６と関係２６９２を有する。X_Featureiオブジェクト２６１４は、xAttrFtrオブジェクト２６１２と関係２６６０を有し、その結果、gqi_Featureiオブジェクト２６１０と関係２６６２を有する。gqi_Featureiオブジェクト２６１０は、結果として、X_Featureiオブジェクト２６１４と関係２６６４を有する。図２６に示したように、X_CelIiオブジェクト２６１８は、X_Featureiオブジェクト２６１４と関係２６６４を有する（および、X_Featureiオブジェクト２６１４は、X_Celliオブジェクト２６１８と関係２６７６を有する）。
【０１５４】
図２６に示したように、X_Featureiオブジェクト２６１４は、gqi_Geometry_tオブジェクト２６０８と関係２６１５を有する。X_Featureiオブジェクト２６１４もxAttrMPオブジェクト ２６２８と関係２６６６を有し、その結果、第１のgqi_MetaPropertyjインスタンス オブジェクト ２６２２と関係２６６８をう有する。gqi_MetaPropertyiオブジェクト２６２２の第１のインスタンスは特徴に対するものであり、２６８４とそれを関連付ける1セットのオブジェクト、例えば、オブジェクト２６２４および１以上のFtrRefiオブジェクト２６２６のインスタンス等を持つことができる。図２６に示したようにFtrRefiオブジェクト２６２６は、gmFeatureiオブジェクト２６３６との関係２６８６および２６８８によって本発明のコールバック機能を促進する。
【０１５５】
セルオブジェクトは、gqiMetaPropertyオブジェクトのパラレルなインスタンス、すなわちGqi_MetaPropertyjオブジェクト２６３０を有している。本発明のこの局面において、X_Celljオブジェクト２６１８は、xAttrMPオブジェクト２６２０と関係２６８０がある。xAttrMPオブジェクト２６２０は、さらに図２６に示したように、gqi_MetaPropertyjオブジェクト ２６３０の第２のインスタンスと関係２６８２がある。gqi_MetaPropertyi２６２２の第１のインスタンスと同様、第２のgqi_MetaPropertyjオブジェクト２６３０ は、オブジェクト２６３２およびCellRefj オブジェクト２６３４等の種々のオブジェクトと関係２６７０がある。本発明のコールバック操作（セルのための）は、gm_Celljオブジェクト２６４２との関係２６７２および２６７４によって促進される。図２６に示したように、X_Featurei オブジェクト２６１４同様、X_Celljオブジェクト２６１８は、gqi_Geometry_tオブジェクト２６０８と関係２６１９と関係がある。最後に、X_Celljオブジェクト２６１８は、 X_Featureiオブジェクト２６１４との関係２６７８および２６７６を共有している。
本発明の操作
本発明は、プロセッサ、データ保存システム、少なくとも１つの入力装置および少なくとも１つの出力装置を含み、および限定されないが、コンピュータモニター、保存装置、またはプリントアウトを含むコンピュータ上で行われる、インタラクティブにモデルを編集するための方法として説明することができる。このモデルは、コンピュータ読み取り可能な媒体に保存されることが好ましい。モデル自体は少なくとも第１の表面を有する。とはいえ、典型的には多くの表面がモデリングされている。
【０１５６】
実施例：ＰＳＰプロパティのアタッチ
本発明の構造の性能および柔軟性の一般的な指示は、以下の実施例によって明らかになるであろう。
【０１５７】
図２５は、コアの不活性な特徴を追加することを示している。図２５に示したように、「登録されていない」状態の層位特徴（「Ｈ１」と称する）２５０１を、モデルコアＣ１（gqi_Coreオブジェクト）２５０２の分類されていない特徴に追加する。gmSysPSPProperty２５２０は、特徴にアタッチし、子およびそれらのサブセルに伝播するため、ＧＱＩの動作をモデリングすることが望ましい。したがって、追加子方法２５０３は、gqi_Feature２５０４（図２５において、そのインスタンスは「IAF1」と称される）の上で実行される。活性および不活性な特徴は、アタッチされたＰＳＰプロパティを持つので、そのため追加子方法２５０３は、追加子事象を誘起し、その結果Ｈ１のアタッチメントを引き起こすであろう。尚、ＰＳＰプロパティのアタッチメントは、追加子事象の結果として生じる。なぜなら、コアの活性および不活性の特徴は、ＰＯＰプロパティを持っているからである。
【０１５８】
図２５に示したように、gqi_Featureオブジェクト２５０４から、グループの追加子方法２５０５を呼び出し、XOX Shapesオブジェクト２５０６に効果を及ぼす。XOX Shapesオブジェクト２５０６は、次に、図２５に示したように、パラメータＩＡＦ１、Ｈ１およびＩＡＦ１属性を持つクラスグループ追加子コールバック方法２５０７をgqi_metaPropertyオブジェクト２４１２上に呼び出す。gqi_MetaPropertyオブジェクト２４１２も、avlAttr変数をパラメータとしている属性取得ポインタ値方法２５１０をXOX ハンドルオブジェクト２５１２の標識されたIAFlattrに呼び出す。その後、図２５に示したように、追加子コールバック方法２５０９は、gqi_MetaPropertyオブジェクト２４１２から、IAFlmeta２５１４と呼ばれるgqi_MetaPropertyインスタンスに呼び出す。追加子コールバック方法２５０９は、ＩＡＦ１、ＨｌおよびＩＡＦｌ属性をそのパラメータとしている。gqiMetaProperty２４１２のIAFlmetaインスタンスは、２つの方法を呼び出す。まず、取得ポリシー方法２５１９がgmSysPSPPropertyオブジェクト２５２０のインスタンスからC1PSPインスタンスが呼び出される。第２に、図２５に示すように、IAF1、H1およびPIAF1属性をパラメータとして持つ追加子コールバック方法をgmSysPSPPolicyオブジェクト２５１８に呼び出す。最後に、方法２５２１へのアタッチは、gm_SysPSPPolicyオブジェクト２５１８をgmSysPSPPropertyオブジェクト２５２０のC1PSPインスタンスに呼び出すものである。
【０１５９】
他の方法の記載
上記特別な実施例とは対照的に、本発明の方法のより一般的な記載を図２７〜４０に示す。これらの図に示された特別なステップを下記の明細書にしたがって説明する。
【０１６０】
図２７によれば、この方法は通常ステップ２７０２から始まる。この方法は、ステップ２７０４において、表面特徴についてのデータを、データ保存システムに保存されているデータベースからローディングすることから始まる。次に、ステップ２７０６において、表面特徴についての集合体特徴を作成する。これは、ステップ２７０８において、集合体特徴から第１のグラフィックスオブジェクトを作成することを可能にする。その後、ステップ２７１０において、第１のグラフィックスオブジェクトをアプリケーションシーングラフに追加する。次に、ステップ２７１２において、集合体特徴について幾何学オブジェクトを作成する。次にモデルの第１の表面特徴を望ましいように編集する（ステップ２７１４）。編集が完了すれば（例えば、ユーザが編集モード選択する、または必要な時間が経過する）と、モデルのグラフィックスが選択的に更新される（ステップ２７１６）。この選択的な更新によって、種々の装置は、すべての更新および変更を再計算し、表示することから開放される。そうではなく、ユーザが経験することに影響を及ぼす更新のみが更新される。最後に、第１の表面特徴の第１のグラフィックスオブジェクトがアプリケーションシーングラフから除去される（ステップ２７１８）。
【０１６１】
編集および更新
編集プロセス自身は、いくつかの工程からなる。図２８ａについて、まず、インタフェースを提供しなければならない（ステップ２８０４）。次に、ステップ２８０６において、インタフェースで操作するIGM を提供しなければならない。IGM で操作するGQI を含むことは有用である。これによってユーザは、インタフェースを介して、第２の表面特徴についての操作を選択することができる。このインタフェースは、ユーザの選択するIGMを含むように設計される（ステップ２８１０）。その操作自身は、GQIで呼び出される（ステップ２８１２）。 編集プロセス（ステップ２８１４）の間、操作を実行する間、GQIからIGMへのコールバックを少なくとも１回行う必要がある。そのコールバックは、モデルのグラフィックスオブジェクトを更新し、出力装置をリフレッシュするために用いられる。編集は、不規則な空間分割によって達成することができるが、他の編集技法を本発明とともに用いることもできる。編集が終了すると、典型的にはグラフィックスオブジェクトを作成することによって、グラフィックスの更新が始まる（ステップ２８１６）。
【０１６２】
図２８ｂに示したように、本発明は、更新工程２８１６は、幾何学的および／または位相的のような定義された基準にしたがって変更されたグラフィックスのみを更新することを含む、特別な特徴をもっている。この更新工程はまた、目視可能な有限状態機械を参照することを含む（ステップ２８２２）。可視の有限状態機械は、操作を更新するグラフィックスオブジェクトおよび操作を更新するグラフィックスオブジェクトの目視可能性を管理することを助ける。目視可能な有限状態機械は、（ユーザの）目に見えるように指定されたグラフィックスオブジェクトのみを更新することができる。この目視可能な有限状態機械は、見えるとされたグラフィックスを指定し、また、グラフィックスオブジェクトの目視可能性について確認するために使用することができる。図２８ｂに示されているように、グラフィックスオブジェクトが有効であれば（ステップ２８２４）、グラフィックスオブジェクトは、シーングラフに追加することができる（ステップ２８２６）。そうでない場合は、グラフィックスオブジェクトは、更新されて、シーングラフに追加することができる（ステップ２８２８）。
【０１６３】
更新プロセスは、いくつかの工程を含むことができる。例えば、更新は、図２８ｂのステップ２８５４〜２８５６に示したように、シーングラフにおけるそれぞれの特徴の状態を確認することを含んでもよい。通常、この特徴のグラフィックスが有効であれば、特徴のグラフィックスオブジェクトは、更新されない（ステップ２８６０）。しかしながら、図２８ｃに示されているように、特徴のグラフィックスが無効であれば（ステップ２８５４）、かつ、幾何学的が有効であれば（ステップ２８５６）、特徴のグラフィックスオブジェクトを更新する（ステップ２８６２）。
【０１６４】
更新の別の形態は、図２８ｄに示されているように、シーングラフにおけるそれぞれのセルの状態を確認することを含むことができる。このようにすれば、セルのグラフィックスが有効であれば（ステップ２８７２）、セルのグラフィックスオブジェクトは更新されない（ステップ２８７８）。セルのグラフィックスが無効であり、かつ、セルの幾何学的が有効であれば（ステップ２８７６）セルのグラフィックスオブジェクトは更新される（ステップ２８８０）。
【０１６５】
本発明の方法はまた、第２の表面特徴がモデルに含まれていない状況を包含することができるが、第２の特徴は、もちろんモデルに含まれることができる。
グラフィックスの作成
本発明の方法はまた、図２９に示された集合体特徴のような種々のエンティティのグラフィックスの作成を含む。典型的には、このプロセスは、モデルの全ての関連する表面特徴を取得することを含む（ステップ２９０４）。次に、例えば、関連する表面のそれぞれについて、表面特徴は、グラフィックスオブジェクトを持ち（ステップ２９０５）、次にグラフィックスオブジェクトが更新される（ステップ２９０６）。そうでない場合、表面特徴のグラフィックスオブジェクトが作成される（ステップ２９０８）。その後、表面特徴のグラフィックスオブジェクトが表面シーングラフルートノードに追加され（ステップ２９１０）、図２９に示された方法は、通常ステップ２９１２において終了する。
【０１６６】
先の段落で概略を示した工程に加えて、図３０に示したように、他の工程も任意に達成することができる。例えば、表面特徴のための全ての二次元的なセルの集合体オブジェクトを取得してもよい（ステップ３００４）。次に、セルのそれぞれの集合体オブジェクトが少なくとも１つの有効なグラフィックスオブジェクトを取得するように助長することができる（ステップ３００６）。これが一旦完結すれば、表面特徴のグラフィックスオブジェクトを有効にすることができ（ステップ３００８）、この方法は、通常ステップ３０１０において終了する。
【０１６７】
直前で概略を示した方法には、図３１で示したように、更に多くのステップを行ってもよい。例えば、セルの有効なグラフィックスオブジェクトを取得する工程は、セルのグラフィックスオブジェクトが存在しないかどうかを判定する確認を含むことができる（ステップ３１０４）。グラフィックスオブジェクトが存在しない場合、セルのグラフィックスオブジェクトが作成され、有効とされる（ステップ３１０６）。セルのグラフィックスオブジェクトが存在せず、有効でない場合、セルのグラフィックスオブジェクトは更新され、有効とされる（ステップ３１０８）。
【０１６８】
あるいは、グラフィックスを作成するための本発明の方法は、図３２に示すように、モデルから少なくとも１つのボリュームセルを作成することを含む。この代替的な方法は、モデルにおいて、少なくとも１つの関連する活性なボリュームセルを取得することを含む（ステップ３２０４）。取得後、二次元的なセルの全てのグラフィックスオブジェクトが作成されたことを確認をすることができる（ステップ３２０６）。次に、二次元的なセルに、集合体を取得することができる（ステップ３２０８）。二次元的なセル集合体が存在しない場合、新たな集合体を作成することができる（ステップ３２１０）。その後、それぞれの二次元的なセルについて、それが有効なグラフィックスを持つかどうかを確認する（ステップ３２１２）。その後、各ボリュームセルのグラフィックスオブジェクトを作成することができる（ステップ３２１４）。次に、各ボリュームセルについて、ボリュームセルのそれぞれの二次元的なセルのグラフィックスコンテンツを、ボリュームセルのグラフィックスオブジェクトのサブシーングラフに追加する（ステップ３２１４）。最後に、各ボリュームセルのそれぞれについて、ボリュームシーングラフルートノードにグラフィックスオブジェクトを追加する（ステップ３２１６）。さらに、二次元的なセルを図示した、カラーマテリアルなしの、グラフィックスコンテンツのインスタンテーションは、二次元的なセルを子とした表面特徴のグラフィックスオブジェクトを含む少なくとも１つのシーングラフ、ならびに、グラフィックスオブジェクトを含む、１つのボリュームセルまたはそれぞれの境界を二次元的なセルとして有する２つのボリュームセルを持つ少なくとも１つのシーングラフによって共有されることができる。
【０１６９】
コールバック
本発明では、オブジェクトフレームワーク内に広範にコールバックを使用する。例えば、コールバックは、集合体特徴の変化をもたらす。集合体特徴エレメントは、一貫性のある有限状態機械であって、その結果、コールバックが効率的に容易化されることが好ましい。一貫性のある有限状態機械は、幾何学的とグラフィックスの間の一貫性を管理することもまた好ましい。コールバックは、集合体特徴のグラフィックスオブジェクトを無効にし、集合体特徴の幾何学を有効にするために有用である。例えば、コールバックがボリュームオブジェクトのためのものである場合、ボリューム特徴のために特別のコールバックが使用される。層でない場合、表面特徴の編集コールバックが行われる。
【０１７０】
コールバックは、多くの方法で行うことができる。しかしながら、通常、コールバックは１セットの１以上のオブジェクトを用いて達成される。通常、そのオブジェクトのセットは、第１の幾何学モデラー特徴オブジェクト；幾何学モデラー特徴オブジェクトに含まれた変化した幾何学オブジェクト；変化された幾何学オブジェクトに効果を及ぼして関連している第１のメタ‐プロパティ属性オブジェクト；第１のメタ-プロパティ属性と関連する第１のメタ-プロパティオブジェクト；幾何学的モデラー特徴オブジェクトと関連する第２のメタ-プロパティ属性オブジェクト；および第２のメタ-プロパティ属性オブジェクトと関連する第２のメタ-プロパティオブジェクトを含む。
【０１７１】
第１のメタ-プロパティオブジェクト自身は、ポイント設定保存プロパティオブジェクト；ポイント設定保存プロパティポリシーオブジェクト；セルバックポインタプロパティオブジェクト；集合体バックポインタプロパティポリシーオブジェクト；コールバックポインタオブジェクトと関連する幾何学的セルオブジェクト；幾何学的セルオブジェクトと関連する集合体セルオブジェクト；および集合体セルオブジェクトと関連する表示セルグラフィックスオブジェクトのような１セットのオブジェクトを含む。
【０１７２】
第２のメタ-プロパティ属性オブジェクト自身は、１セットのオブジェクトを持ち、第２のポイント設定保存プロパティオブジェクト；第２のポイント設定保存プロパティポリシーオブジェクト；特徴バックポインタプロパティオブジェクト；第２の集合体バックポインタプロパティポリシーオブジェクト；特徴バックポインタプロパティオブジェクトと関連する幾何学的特徴オブジェクト; 幾何学的 特徴オブジェクトと関連する集合体特徴オブジェクト;および集合体特徴オブジェクトと関連する表示特徴グラフィックスオブジェクトとを含む。
【０１７３】
本発明のコールバックは、種々の構成および環境において現われる。例えば、図３３は、幾何学的モデラー インタフェースを用いたメタ-プロパティ分割コールバック分類方法を登録する（ステップ３３０４）ことを含むボリューム特徴の編集コールバックを示す。幾何学的モデラーインタフェースは、ボリューム分割事象が生じたときに呼び出されることが意図されている。その後、ステップ３３０６において、第１のメタ-プロパティ属性がボリューム特徴によって限定される、少なくとも１つのボリュームオブジェクトにアタッチされる。その後、ステップ３３０８において、コールバックは、第１のボリューム オブジェクト、第１のボリューム オブジェクトによって、第１のボリュームオブジェクトと、第１のメタ-プロパティ属性に対する変更によって影響を受ける第２のボリュームとを指定する幾何学的モデラーインタフェースによって受け取られる。次にポインタ値が第１のメタ-プロパティ属性から取得され、ポインタ値をメタ-プロパティ オブジェクトの位置を突き止めるために逆参照することを可能にする（ステップ３３１０）。分割コールバックは、第１のメタ-プロパティ属性、第１のボリュームオブジェクトおよび第２のボリュームオブジェクトを持つ第１のメタ-プロパティ オブジェクトにおいて、分割コールバックが呼び出される。この最後のステップ自身は、第１のポイント設定プロパティインスタンス（ステップ３３１２）およびプロパティインスタンスからの第１のポイント設定保存ポリシーインスタンス（ステップ３３１４）を取得すること、並びに、ポイント設定保存プロパティインスタンス第１のボリュームオブジェクトおよび第２のボリュームオブジェクトをもつポイント設定保存プロパティポリシーインスタンスに対する第１のコールバックを開始することを含む。この最後のサブステップ自身は、第１のボリュームオブジェクトの、少なくとも１つの含有特徴を取得すること（ステップ３３１６）、および含有特徴および第２のボリュームオブジェクトを持つ幾何学的モデラーインタフェースにおいて特徴追加子更新を開始することを含む（ステップ３３１８）。次に、集合体バックポインタプロパティポリシーインスタンスがセルバックポインタプロパティインスタンスから得られ、その結果、集合体バックポインタプロパティインスタンスによって第２の分割コールバックが開始されるようにセルバックポインタプロパティを取得する。後のコールバック自身は、セルバックポインタプロパティインスタンスからボリューム幾何学的セルオブジェクトを取得すること（ステップ３３２０）、およびボリューム幾何学的セルオブジェクトに対するセル分割コールを開始することを含む。後のサブステップは、ボリューム幾何学的セルオブジェクトのボリュームセル集合体パトロンに対するコールを開始し、第１のボリュームのグラフィックスを無効にすることを含むことができる（ステップ３３２２）。
【０１７４】
図３４は、特徴追加子事象が生じたときに呼び出される幾何学的モデラーインタフェースでのメタ-プロパティ追加子コールバック分類方法を登録することを含む（ステップ３４０３）ボリューム特徴の特徴追加子コールバックを行うことを示す。これは、第２のメタ-プロパティ属性インスタンスをボリューム特徴にアタッチすること（ステップ３４０６）；および幾何学的モデラーインタフェースから、ボリューム特徴と、ボリュームオブジェクトと、第２のメタ-プロパティ属性とを指定する追加子コールバックを受け取ること（ステップ３４０８）を含むことができる。次にステップ３４１０において、第２のメタ-プロパティ属性からポインタ値が取得され、第２のメタ-プロパティオブジェクトの位置を突き止めるためにポインタ値が逆参照される。追加子コールバックは、第２のメタ-プロパティオブジェクトにおいて呼び出される。後のステップは、第2のポイント設定保存プロパティインスタンスを取得すること（ステップ３４１２）；第2のポイント設定保存プロパティインスタンスから第2のポイント設定保存プロパティポリシーインスタンスを取得すること（ステップ３４１４）；およびボリューム特徴およびボリューム幾何学的オブジェクトを持つ第２のポイント設定ポリシーオブジェクトの追加子コールバック方法を開始することを含む。後のサブステップ自身は、ポイント設定保存プロパティをボリュームセルにアタッチすること（ステップ３４１６）；特徴バックポインタプロパティインスタンスを取得すること（ステップ３４１８）；および特徴バックポインタプロパティインスタンスの特徴から第２の集合体バックポインタプロパティポリシーインスタンスを取得すること；およびボリューム特徴、ボリューム幾何学的オブジェクトおよびボリューム特徴バックポインタプロパティを持つ、第２の集合体バックポインタプロパティインスタンスの追加子コールバック方法を開始することを含む。後のサブステップ自身は、特徴バックポインタプロパティインスタンスによって確認される、ボリューム特徴幾何学的オブジェクトに対する追加子通知方法を開始することを含む。後のサブステップ自身は、ボリューム特徴オブジェクトの幾何学を有効にするために、ボリューム特徴オブジェクトのボリューム特徴集合体パトロンに対するコールを開始すること（ステップ３４２０）；およびボリューム特徴オブジェクトのグラフィックスを無効にするために、ボリューム 特徴オブジェクトのボリューム特徴集合体パトロンに対するコールを開始すること（ステップ３４２２）を含む。
【０１７５】
本発明の更に別の方法は、表面特徴の編集コールバックを行うことを含む。この方法のこの局面は、表面分割事象が生じたときに呼び出されるべき幾何学的モデラーインタフェースで、メタ-プロパティ分割コールバック分類方法を登録すること（ステップ３５０４）；表面特徴によって限定されるメタ-プロパティ属性を少なくとも１つの表面オブジェクトにアタッチすること（ステップ３５０６）；幾何学的モデラーインタフェースから、表面オブジェクトと、第２の表面と、メタ-プロパティ属性とを指定するコールバックを受け取ること（ステップ３５０８）；メタ-プロパティ属性からポインタ値を取得し、メタ-プロパティオブジェクトの位置を突き止めるためにポインタ値を逆参照すること（ステップ３５１０）；第１のメタ-プロパティオブジェクトにおいて、第１の表面オブジェクト、第２の表面オブジェクト及び第１のメタ-プロパティ属性自身を持つ分割コールバックを呼び出すことを含む。後のステップは、ポイント設定保存プロパティインスタンスを取得すること（ステップ３５１２）；プロパティインスタンスからポイント設定保存ポリシーインスタンスを取得すること（ステップ３５１４）；およびポイント設定保存プロパティインスタンス、第１の表面オブジェクト、および第２の表面オブジェクトを持つ、ポイント設定保存ポリシーインスタンスに対する第１の分割コールバックを開始することを含む。後のサブステップ自身は、第１の表面オブジェクトのための少なくとも１つの含有特徴を取得すること（ステップ３５１６）；および含有特徴および第２の表面オブジェクトを持つ、幾何学的モデラーインタフェース上で特徴追加更新を開始すること（ステップ３５１８）；セルバックポインタプロパティインスタンスを取得すること（ステップ３５２０）；セルバックポインタプロパティインスタンスから集合体バックポインタプロパティポリシーインスタンスを取得すること（ステップ３５２２）；およびセルバックポインタプロパティインスタンスを持つ第２の分割コールバックを集合体バックポインタプロパティポリシーインスタンスに対して開始することを含む。後のサブステップは、セルバックポインタプロパティインスタンスから表面幾何学的セルオブジェクトを取得すること（ステップ３５２４）；および表面幾何学的セルオブジェクトに対するセル分割コールを開始することを含む。後のサブステップは、表面幾何学的セルオブジェクトの表面セル集合体パトロンへのコールを開始し、第１の表面のグラフィックスを無効にすること （ステップ３５２６）を含む。
【０１７６】
図３６は、特徴追加コールバックを行う工程（先行するパラグラフに記載）は、幾何学的モデラーインタフェースでメタ-プロパティ追加子コールバック分類方法を登録して、特徴追加子事象が生じたときに呼び出されるようにすること（ステップ３６０４）；第２のメタ-プロパティ属性インスタンスを表面特徴にアタッチすること（ステップ３６０６）；幾何学的モデラーインタフェースから、表面特徴と、表面オブジェクトと、第２のメタ-プロパティ属性とを指定する追加子コールバックを受け取ること（ステップ３６０８）；第2のメタ-プロパティ属性からポインタ値を取得し、第２のメタ-プロパティオブジェクトの位置を突き止めるためにポインタ値を逆参照すること（ステップ３６１０）；および第２のメタ-プロパティオブジェクトにおいて追加子コールバックを呼び出すことを含む。後のサブステップ自身は、第2のポイント設定保存プロパティインスタンスを取得すること（ステップ３６１２）；第2のポイント設定保存プロパティインスタンスから、第2のポイント設定保存プロパティポリシーインスタンスを取得すること（ステップ３６１４）；および、表面特徴および表面幾何学的オブジェクトをもつ第２のポイント設定ポリシーオブジェクトの追加子コールバック方法を開始することを含む。後のサブステップ自身は、ポイント設定保存プロパティをボリュームセルにアタッチすること（ステップ３６１６）；特徴バックポインタプロパティインスタンスを取得すること（ステップ３６１８）；第2の集合体バックポインタプロパティポリシーインスタンスを特徴バックポインタプロパティインスタンスから取得すること（ステップ３６２０）、および表面特徴、表面幾何学的オブジェクトおよび表面特徴バックポインタプロパティをもつ第２の集合体バックポインタプロパティインスタンスの子コールバック方法を開始することを含む。後のサブステップ自身は、表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴オブジェクトの幾何学を有効にすること（ステップ３６２２）；および表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴オブジェクトのグラフィックスを無効にすること（ステップ３６２４）を含む。
【０１７７】
コールバックは、本発明の種々のオブジェクトの多数の効果を持つことができる。例えば、コールバックを行うことによって、セルの状態を変化させることができる。この状態の変化は、一貫性のある有限状態機械に記録されることができる。
【０１７８】
本発明の方法の別の局面は、図３７に示されているようにボリューム特徴の編集コールバックを行うことである。本発明のこの局面は、ボリュームの併合事象が生じたときに呼び出される幾何学的モデラーインタフェースでメタ-プロパティ併合コールバック分類方法を登録すること（ステップ３７０４）； メタ-プロパティ属性をボリューム特徴によって限定される少なくとも１つのボリュームオブジェクトにアタッチすること（ステップ３７０６）；幾何学的モデラーインタフェースから、ボリュームオブジェクトと、第２のボリュームと、ボリュームオブジェクトに以前は結合していて除去された表面オブジェクトと、メタ-プロパティ属性とを指定するコールバックを受け取ること（ステップ３７０８）；幾何学的モデル属性からポインタ値を取得すること；メタ-プロパティオブジェクトの位置を突き止めるためにポインタ値を逆参照すること（ステップ３７１０）；および第１のメタ-プロパティオブジェクトに併合コールバックを呼び出すことを含む。後のサブステップ自身は、ポイント設定保存プロパティインスタンスを取得すること（ステップ３７１２）および、プロパティインスタンスからポイント設定保存ポリシーインスタンスを取得すること（ステップ３７１４）；およびポイント設定保存プロパティ、第１のボリューム オブジェクト、第２のボリュームオブジェクトおよび表面オブジェクトを持つ、ポイント設定保存ポリシーインスタンスに対する併合コールバックを開始することを含む。後のサブステップ自身は、ボリュームオブジェクトのために少なくとも１つの含有特徴を取得すること（ステップ３７１６）；および含有特徴及び第２のボリュームオブジェクトを持つ幾何学的モデラーインタフェースにおいて特徴除去子更新を開始すること（ステップ３７１８）；そして次にセルバックポインタプロパティインスタンスがステップ３７１９において得られる。次にステップ３７２０において、集合体バックポインタプロパティポリシーインスタンスが、セルバックポインタプロパティインスタンスから得られる；および第２の併合コールバックが、セルバックポインタプロパティインスタンス、第１のボリュームオブジェクト、第２のボリュームオブジェクト、および表面オブジェクトを持つ集合体バックポインタプロパティポリシーインスタンスに対して開始される。後のサブステップ自身は、セルバックポインタプロパティインスタンスからボリューム幾何学的セルオブジェクトを取得すること（ステップ３７２２）およびボリューム幾何学的セルオブジェクトに対するセル併合コール開始することを含む。後のサブステップ自身は、ボリューム幾何学的セルオブジェクトのボリュームセル集合体パトロンに対するコールを開始して、第１のボリュームのグラフィックスを無効にすることを含む（ステップ３７２４）。
【０１７９】
図３８は、ボリューム特徴自身において編集コールバックを行うための方法を示し、任意に子編集コールバックの除去を含む。後のサブ方法は、特徴除去子事象が生じたときに呼び出される幾何学的モデラーインタフェースでメタ-プロパティ除去子コールバック分類方法を登録すこと（ステップ３８０４）；第２のメタ-プロパティ属性インスタンスをボリューム特徴にアタッチすること（ステップ３８０６）；幾何学的モデラーインタフェースから、ボリューム特徴と、ボリュームオブジェクトと、第２のメタ-プロパティ属性とを指定する除去子コールバックを受け取ること（ステップ３８０８）；第２のメタ-プロパティ属性からポインタ値を取得する；第２のメタ-プロパティオブジェクトの位置を突き止めるためにポインタ値を逆参照すること（ステップ３８１０）；および第２のメタ-プロパティオブジェクトにおいて除去子コールバックを呼び出すことを含む。後のサブステップは、第２のポイント設定保存プロパティインスタンスを取得すること（ステップ３８１２）；第２のポイント設定保存プロパティインスタンスから、第２のポイント設定保存プロパティポリシーインスタンスを取得すること（ステップ３８１４）；ボリューム特徴およびボリュームボリューム幾何学的オブジェクトを持つ、第２のポイント設定ポリシーオブジェクト除去子コールバック方法を開始することを含む。後のサブステップは、ボリュームセルからポイント設定保存プロパティを除去すること（ステップ３８１６）；特徴バックポインタプロパティインスタンスを取得すること（ステップ３８１８）；特徴バックポインタ プロパティインスタンスから第２の集合体バックポインタプロパティポリシーインスタンスを取得する（ステップ３８２０）；およびボリューム特徴、ボリューム幾何学的オブジェクトおよびボリューム特徴バックポインタプロパティを持つ、第２の集合体バックポインタプロパティポリシーインスタンスの除去子コールバック方法を開始することを含む。後のサブステップは、ボリューム特徴オブジェクトのボリューム特徴集合体パトロンへのコールを開始し、ボリューム特徴オブジェクトの幾何学を有効にすること（ステップ３８２２）；およびボリューム特徴オブジェクトのボリューム特徴集合体パトロンへのコールを開始し、ボリューム特徴オブジェクトのグラフィックスを無効にすること（ステップ３８２４）を含む。
【０１８０】
図３９は、表面ボリュームで編集コールバックを行うことは、ボリューム特徴（上記）と同じ類似の方法であることを示している。具体的に、表面特徴の編集コールバックを行う工程は、表面併合事象が生じたときに呼び出されるべき幾何学的モデラーインタフェースでメタ-プロパティ併合コールバック分類方法を登録すること（ステップ３９０４）；第１のメタ-プロパティ属性を、表面特徴によって限定される少なくとも１つの表面オブジェクトにアタッチすること（ステップ３９０６）；幾何学的モデラーインタフェースから、表面オブジェクトと、第２の表面オブジェクトと、表面オブジェクトに以前は結合していて除去された曲面オブジェクトと、メタ-プロパティ属性とを指定するコールバックを受け取ること（ステップ３９０８）；幾何学的モデル属性からポインタ値を取得し、メタ-プロパティオブジェクトの位置を突き止めるために、ポインタ値を逆参照すること（ステップ３９１０）;および第１のメタ-プロパティオブジェクト中に併合コールバックを呼び出すことを含む。後のサブステップは、ポイント設定保存プロパティインスタンスを取得すること（ステップ３９１２）；プロパティインスタンスから、第１のポイント設定保存ポリシーインスタンスを取得すること（ステップ３９１４）；およびポイント設定保存プロパティインスタンス、第１の表面オブジェクト、第２の表面オブジェクトおよび曲線オブジェクトを持つ、ポイント設定保存ポリシーインスタンスに対して、第１の併合コールバックを開始することを含む。後のサブステップは、表面オブジェクトのために少なくとも１つの含有特徴を取得すること（ステップ３９１６）；および含有特徴および第２の表面オブジェクトを持つ幾何学的モデラーインタフェースにおいて、特徴除去子更新を開始すること（ステップ３９１８）；集合体バックポインタプロパティポリシーインスタンスをセルバックポインタプロパティインスタンスから取得すること（ステップ３９２０）；およびポイント設定保存プロパティインスタンス、第１の表面オブジェクト、第２の表面オブジェクトおよび曲線オブジェクトを持つ、集合体バックポインタプロパティポリシーインスタンスに対する第２の併合コールバックを開始することを含む。後のサブステップは、セルバックポインタプロパティインスタンスから幾何学的セルオブジェクトを取得すること（ステップ３９２２）；および表面幾何学的セルオブジェクトに対するセル併合コールを開始することを含む。後のサブステップは、表面幾何学的セルのセル集合体パトロンに対するコールを開始し、第１の表面のグラフィックスを無効にすること（ステップ３９２４）を含む。
【０１８１】
最後に、図４０は、除去子事象が生じたときに呼び出されるべき、幾何学的モデラーインタフェースでメタ-プロパティ除去子コールバック分類方法を登録することを含む、表面特徴のための特徴除去コールバックを行う工程を示し（ステップ４００４）、第２のメタ-プロパティ属性インスタンスを表面特徴にアタッチすること（ステップ４００６）；表面特徴と、表面オブジェクトと、第２のメタ-プロパティ属性とを指定する前記除去子コールバックを幾何学的モデラーインタフェースから受け取ること（ステップ４００８）；第２のメタ-プロパティ属性からポインタ値を取得するし、第２のメタ-プロパティ オブジェクトの位置を突き止めるためにポインタ値を逆参照すること（ステップ４０１０；および第２のメタ-プロパティ属性、表面特徴及び表面幾何学的オブジェクトを持つ第２のメタ-プロパティオブジェクト中の除去子コールバックを呼び出すことを含む。後のサブステップは、第２のポイント設定保存プロパティインスタンスを取得すること（ステップ４０１２）；第２のポイント設定保存プロパティインスタンスから第２のポイント設定保存プロパティポリシーインスタンスを取得すること（ステップ４０１４）；および表面特徴および表面幾何学的オブジェクトを持つ、第２のポイント設定ポリシーオブジェクトオブジェクト中の除去子コールバックを開始することを含む。後のサブステップ自身は、表面セルからポイント設定保存プロパティを除去すること（ステップ４０１６）；特徴バックポインタ プロパティインスタンスを取得すること（ステップ４０１８）；特徴バックポインタプロパティインスタンスから第２の集合体バック ポインタ プロパティ ポリシー インスタンスを取得すること（ステップ４０２０）；および表面幾何学的オブジェクトおよび表面特徴ポインタプロパティで第２の集合体バックポインタプロパティポリシーインスタンスの除去子コールバック方法を開始することを含む。 後のサブステップ自身は、バックポインタプロパティインスタンスによって確認される表面特徴幾何学的オブジェクトに対して、除去子通知コールを開始することを含む。後のサブステップ自身は、表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴オブジェクトの幾何学を有効にすること（ステップ４０２２）；および表面特徴オブジェクトの表面特徴集合体パトロンに対するコールを開始し、表面特徴オブジェクトのグラフィックスを無効にすること（４０２４）を含む。
【０１８２】
本発明は、したがって、目的を実行し、目的および上記の結果および固有の利点を達成するために、適応される。本発明は、特定の態様に言及して描写、記載および定義されているが、そのような言及は、本発明を限定することを意図するものではなく、そのような限定があると推察されるべきものではない。本発明は、当該技術分野の当業者にとって生じるであろう、相当量の形式的および/または機能的な改変、交代（alternation）、変更および等価が可能である。描写および記載された本発明の態様は例示に過ぎず、本発明の範囲を網羅するものではない。したがって、本発明は、すべての点について均等を認識した上で、添付の請求の範囲の精神および範囲によってのみ限定されるよう意図されている。
【図面の簡単な説明】
【０１８３】
本発明およびその利点の理解をより完全にするために、以下においては、添付の図面と一致する符号を付けて説明する。
【図１】ブロック図である。
【図２】モデリングされる項目を示す図である。
【図３】モデリングプロセスにおける保存を説明する図である。
【図４Ａ】モデリングプロセスにおける保存を説明する図である。
【図４Ｂ】モデリングプロセスにおける保存を説明する図である。
【図５Ａ】モデリングされる項目を示す図である。
【図５Ｂ】モデリングされる項目を示す図である。
【図５Ｃ】幾何学的モデルを示す図である。
【図６】グラフィックスモデルを示す図である。
【図７】ブロック図である。
【図８】それぞれオブジェクトの関係を示す図である。
【図９】それぞれオブジェクトの関係を示す図である。
【図１０】それぞれオブジェクトの関係を示す図である。
【図１１】それぞれオブジェクトの関係を示す図である。
【図１２】それぞれオブジェクトの関係を示す図である。
【図１３】それぞれオブジェクトの関係を示す図である。
【図１４】それぞれオブジェクトの関係を示す図である。
【図１５】状態を示す図である。
【図１６】本発明の２つのボリュームおよび１つの表面セルおよびそれらのそれぞれノードを示すブロック図である。
【図１７】共通の面を備えた、本発明の２つのボリュームおよび１つの表面セルおよびそれらのそれぞれのノードを示すブロック図である。
【図１８Ａ】表面とボリューム特徴との間の対応性、および本発明のノードを示すブロック図である。
【図１８Ｂ】表面とボリューム特徴との間の対応性、および本発明のノードを示すブロック図である。
【図１９】本発明の状態図である。
【図２０】本発明の主なフレームワークのブロック図である。
【図２１】本発明の種々のオブジェクトの関係を示すブロック図である。
【図２２】本発明の種々のオブジェクトの関係を示すブロック図である。
【図２３】本発明の種々のオブジェクトの関係を示すブロック図である。
【図２４】本発明の種々のオブジェクトの関係を示すブロック図である。
【図２５】本発明の種々のオブジェクトの関係を示すブロック図である。
【図２６】本発明の種々のオブジェクトの関係を示すブロック図である。
【図２７】本発明の種々の方法を示すブロック図である。
【図２８Ａ】本発明の種々の方法を示すブロック図である。
【図２８Ｂ】本発明の種々の方法を示すブロック図である。
【図２８Ｃ】本発明の種々の方法を示すブロック図である。
【図２８Ｄ】本発明の種々の方法を示すブロック図である。
【図２９】本発明の種々の方法を示すブロック図である。
【図３０】本発明の種々の方法を示すブロック図である。
【図３１】本発明の種々の方法を示すブロック図である。
【図３２】本発明の種々の方法を示すブロック図である。
【図３３】本発明の種々の方法を示すブロック図である。
【図３４】本発明の種々の方法を示すブロック図である。
【図３５】本発明の種々の方法を示すブロック図である。
【図３６】本発明の種々の方法を示すブロック図である。
【図３７】本発明の種々の方法を示すブロック図である。
【図３８】本発明の種々の方法を示すブロック図である。
【図３９】本発明の種々の方法を示すブロック図である。
【図４０】本発明の種々の方法を示すブロック図である。


【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2004537817.tif 000214
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2004537817.tif 000215
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図３Ａ
【補正方法】変更
【補正の内容】
【図３Ａ】
2004537817.tif 000216
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図３Ｂ
【補正方法】変更
【補正の内容】
【図３Ｂ】
2004537817.tif 000217
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図３Ｃ
【補正方法】変更
【補正の内容】
【図３Ｃ】
2004537817.tif 000218
【手続補正８】
【補正対象書類名】図面
【補正対象項目名】図３Ｄ
【補正方法】変更
【補正の内容】
【図３Ｄ】
2004537817.tif 000219
【手続補正９】
【補正対象書類名】図面
【補正対象項目名】図４Ａ
【補正方法】変更
【補正の内容】
【図４Ａ】
2004537817.tif 000220
【手続補正１０】
【補正対象書類名】図面
【補正対象項目名】図４Ｂ
【補正方法】変更
【補正の内容】
【図４Ｂ】
2004537817.tif 000221
【手続補正１１】
【補正対象書類名】図面
【補正対象項目名】図５Ａ
【補正方法】変更
【補正の内容】
【図５Ａ】
2004537817.tif 000222
【手続補正１２】
【補正対象書類名】図面
【補正対象項目名】図５Ｂ
【補正方法】変更
【補正の内容】
【図５Ｂ】
2004537817.tif 000223
【手続補正１３】
【補正対象書類名】図面
【補正対象項目名】図５Ｃ
【補正方法】変更
【補正の内容】
【図５Ｃ】
2004537817.tif 000224
【手続補正１４】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2004537817.tif 000225
【手続補正１５】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2004537817.tif 000226
【手続補正１６】
【補正対象書類名】図面
【補正対象項目名】図８
【補正方法】変更
【補正の内容】
【図８】
2004537817.tif 000227
【手続補正１７】
【補正対象書類名】図面
【補正対象項目名】図９
【補正方法】変更
【補正の内容】
【図９】
2004537817.tif 000228
【手続補正１８】
【補正対象書類名】図面
【補正対象項目名】図１０
【補正方法】変更
【補正の内容】
【図１０】
2004537817.tif 000229
【手続補正１９】
【補正対象書類名】図面
【補正対象項目名】図１１
【補正方法】変更
【補正の内容】
【図１１】
2004537817.tif 000230
【手続補正２０】
【補正対象書類名】図面
【補正対象項目名】図１２
【補正方法】変更
【補正の内容】
【図１２】
2004537817.tif 000231
【手続補正２１】
【補正対象書類名】図面
【補正対象項目名】図１３
【補正方法】変更
【補正の内容】
【図１３】
2004537817.tif 000232
【手続補正２２】
【補正対象書類名】図面
【補正対象項目名】図１４
【補正方法】変更
【補正の内容】
【図１４】
2004537817.tif 000233
【手続補正２３】
【補正対象書類名】図面
【補正対象項目名】図１５
【補正方法】変更
【補正の内容】
【図１５】
2004537817.tif 000234
【国際調査報告】
2004537817.tif 000235
2004537817.tif 000236
2004537817.tif 000237