問題タブ [ocean]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
118 参照

ocean - ペトレルからIvTuneウィンドウを開始するにはどうすればよいですか?

OpenInventorコードをデバッグするために、PetrelからIvTuneツールを起動したいと思います。これを行う方法はありますか?標準のショートカットShift+F12は機能しません。

0 投票する
1 に答える
112 参照

ocean - How can I set a window as ActiveWindow programatically in a unit test?

I'm writing a test for a plugin that needs an active Window3D.

I add it and try to set it active with

but PetrelProject.ToggleWindows.Active is still null. Is there some background processing that needs to be done before the new window is actually active? How can I test code that needs an active window?

I'm using Petrel 2012.1.

0 投票する
1 に答える
63 参照

ocean - PropertyVersionBase は削除されますか、それともより具体的な基本クラスに置き換えられますか?

PropertyVersionBase は長い間廃止されていました。現在、Template または DictionaryTemplate への参照、または WellLogVersion または DictionaryWellLogVersion への参照を維持する唯一の方法です。

PropertyVersion[Base] との混同は、それが *WellLogVersion などの基本クラスでもあったことです。これらは Template クラスとは根本的に異なります - Ocean の早い段階で物議を醸す設​​計決定 (IMHO) です。

いくつかの説明をいただければ幸いです:

この基本クラスは最終的に削除されますか?

Template と DictionaryTemplate の基本クラスはありますか?

WellLogVersion と DictionaryWellLogVersion の基本クラスはありますか?

一般に、これらのクラス階層は将来どこに向かうのでしょうか?

(2 番目の質問にタグを付けたいと思います。どの基本クラスでも Droid を公開できますか?)

0 投票する
1 に答える
93 参照

ocean - SeismicLine3Dファセットの法線方向の問題の設定

一般的な交差点プレーヤーと同様に、ランダムに方向付けられた3D地震線を前後に移動するコードがあります。Petrel 2011では完全に機能しましたが、2012に更新すると壊れたようです。問題は、新しいファセットを設定しようとすると、線の法線方向が小数点以下数桁変化するように見えることです。以下はいくつかのサンプルコードです...

これを引き起こすためにPetrel2011と2012の間で何が変わったのか誰かが知っていますか?また、誰かが可能な回避策を知っていますか?

編集:
通常の向きの変化は、トグルウィンドウで表示すると非常に目立ちます。線が移動すると、視覚化にわずかな「グリッチ」が表示されます。

0 投票する
2 に答える
98 参照

ocean - SeismicCube.IndexAtPositionの予期しない出力

ここで何が問題になっているのかわかりません。一部のプロジェクトでは機能しますが、他のプロジェクトでは機能しません。それらの違いがわかりません。問題をテストするために、立方体の内側にあると確信している位置に単一の点を含む点セットを作成しました。電話をかけるとIndexAtPosition、明らかに間違った答えが返ってくることがあります。たとえば、負のインデックスまたは最大インデックスをはるかに超えるインラインインデックスまたはクロスラインインデックスを取得することがあります。z次元インデックスも非常に非現実的な答えで戻ってきます。

私のデータはすべて一貫している、つまり同じドメインとCRSであると確信しています。私がチェックしていないいくつかの設定があるに違いありません。

0 投票する
1 に答える
321 参照

ocean - 単体テスト実行後の未処理の Petrel 例外

nunit を使用して正常に実行された Petrel 2012 単体テストがあります。新しい単体テストをいくつか追加しました。これらのテストでは、私が登録したいくつかのカスタム ドメイン オブジェクトを使用します。また、テストには別の Petrel プロジェクトを使用しています。

Nunit を実行すると、テストが実行されて成功しますが、nunit が結果を報告した後、nunit がクラッシュします。

Petrel 2012.1 64 ビットでの未処理の例外 (CL 345168、2012 年 7 月 27 日ビルド): 考えられる原因: シングルトンの問題の可能性: CLR シャットダウン後にマネージ コードの実行が試行されました。例外
の種類: 0xC0020001: 文字列バインディングが無効です。例外の詳細: モジュール KERNEL32.dll のオフセット 0xDD50 で例外が発生しました 例外ハンドラー: Petrel 未処理の例外フィルター (ネイティブ初期化) 例外スレッド: 名前のないスレッド (id 3908) レポート番号: 0 レポート ID:
{8c53496a-ff6e-46e0-b536-a85868246cef } ネイティブ スタック トレース:
KERNEL32.dll+0xDD50 PulseEvent+0x60 clr.dll+0x45A454
clr.dll+0x5B46D3 clr.dll+0x189C1A Core.Subjects.dll+0xF7138 BaseAllSubjectsItr::init+0x58 Core.Subjects.dll+0xF7351 BaseAllSubjectsItr: :BaseAllSubjectsItr+0x31
Core.Subjects.dll+0x4E919 NotificationManagerImpl::notifyBeforeRemove+0x59
Core.Subjects.dll+0xE034E FolderSubject::removeKidAt+0x9E
Core.Subjects.dll+0xDFED1 FolderSubject::removeAllKids+0x31
Core.Subjects.dll+0xCA307 ParentSubject::cleanup +
0x17 Foundation.Primitives.BaseClasses.dll+0xB434 MemorySaver::MemorySaver+0x224
Foundation.Primitives.BaseClasses.dll+0x2777C Shared::unref+0x1C
Foundation.Primitives.BaseClasses.dll+0x18EE Shared::unref+0xE
Sim.Domain .Analysis.dll+0x1F5CCE FunctionPlotCmd::~FunctionPlotCmd+0x3E
Sim.Domain.Analysis.dll+0x783F7
Foundation.Primitives.BaseClasses.dll+0xB463 MemorySaver::MemorySaver+0x253
Foundation.Primitives.BaseClasses.dll+0x2777C Shared::unref+0x1C
Foundation.Primitives.BaseClasses.dll+0x18EE Shared::unref+0xE
Core.Subjects.dll+0xE169 UpdateHint::operator=+0x2C9
Core.Subjects.dll+ 0x12CDC4 Core.Subjects.dll+0x4979F Slb::Petrel::Configuration::ServiceBase::create+0x42F Core.Subjects.dll+0x499E9 Slb::Petrel::Configuration::ServiceBase::create+0x679 ntdll.dll+0x149BF RtlGetCurrentDirectory_U+0x1FF
KERNEL32.dll+0x1A35C ExitProcess+0x2C mscoreei.dll+0x18552
mscoreei.dll+0x183E4 clr.dll+0x238787 clr.dll+0x23980C clr.dll+0x171966
clr.dll+0x16F567 clr.dll+0x13383 .dll+0x3309 CorExeMain+0x49
mscoree.dll+0x5B21 CorExeMain+0x69 KERNEL32.dll+0x196AC BaseProcessStart+0x2C マネージド スタック トレース: マネージド スタック トレースの収集に失敗しました。

Windows エラー報告の呼び出しを続行しています...

このエラーが発生する前に使用していた Petrel プロジェクトも使用しようとしましたが、同じ例外が発生します。何か案は?

0 投票する
1 に答える
183 参照

persistence - Petrel の Ocean に arg パックをアーカイブするにはどうすればよいですか?

Petrel にカスタム Ocean ワークステップがありますが、引数パッケージを永続化できません。私のパッケージには、以下に示すように PillarGrid オブジェクト (Gird、Property、Zone) が含まれています。

StructuredArchiveDataSource に基づいて DataSourceFactory を作成しました。

この DataSourceFactory をモジュールメソッド「integrate」に登録しました。

プロジェクトを Petrel に保存しようとすると、次のエラー メッセージが表示されます。

この永続性を管理するにはどうすればよいですか?

0 投票する
1 に答える
67 参照

ocean - Petrel 2012.1 の保存時に DataManager.DataSourceManager.Saved イベントが発生しないようです

もともと Petrel 2011 用に作成されたプラグインがあります。最近、これを Petrel 2012 で使用する必要がありました。デバッガーを Petrel に接続し、プラグインがロードされ、モジュールの Initialize() が呼び出されていることを確認しました。これは単にイベント ハンドラーを DataManager.DataSourceManager.Saved イベントに追加するだけです。

Petrel 2011 では、このイベントは保存プロセスの終わり近くで発生します。ただし、2012 では、このイベントは発生しなくなったようです。

プロジェクトが保存されていることを検出するために 2012 で使用する必要がある新しいイベントはありますか? できれば2011年対応のものを。

0 投票する
2 に答える
325 参照

ocean - 開発中の展開で dll とその参照が見つからない

基本的なプラグインを作成しましたが、開発用にデプロイすると問題なく動作しました。

Ocean Dev Guideが示すように。

もっと複雑なことをしようとすると、dll とその参照の 1 つが見つからないことがわかります。私のプロジェクトが構築されている場所にdllが存在します。ProcMon で確認したところ、Ocean がそのフォルダー内の dll を確認していないことがわかりました。

特定のディレクトリ パスからアセンブリを強制的にロードする必要がありました ( C# - Load Assembly from Specific Directory Path を使用)。プラグインが正しくロードされたことを確認します。Petrel が問題を抱えている dll は、InfragisticsWPF.DockManager.dll です。

Petrel に取り組んでいる他のチームと話をしたところ、2012 バージョン以降、Petrel が見つからないため、一部の dll の LoadAssembly を強制する必要があるとのことでした。2011年版でうまくいったこと。2012年に導入された変更により、これが発生した可能性がありますか? 構成が不足していませんか?

アップデート

ご要望に応じて、Fusion Log Viewer に次のように表示されます。

InfragisticsWPF.DockManager.DLLの場合、アクセスしようとしました

アセンブリ マネージャのロード元: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll 実行可能ファイル C:\Program Files\Petrel 2012.3\petrel.exe の下で実行

  • C:/Program Files/Petrel 2012.3/ および「Extensions」などの多くのサブ ディレクトリ C:/Program Files/Petrel 2012.3/ 内のすべてのフォルダーを通過したようです
  • 同じフォルダー内でInfragisticsWPF.DockManager.EXEも検索しようとしました。
  • すべてのプローブ URL が試行され、失敗しました。

私のプラグインがあるパスを検索することはありません。Petrel はInfragisticsWPF.DockManager.DLLの読み込みに失敗しますが、他の dll の読み込みには失敗しません。他の dll の場合、ログは同じように見えますが、最後の試行では、プラグインがあるフォルダーがチェックされます。

両方の dll は隣接していますが、何らかの理由で Petrel は InfragisticsWPF.DockManager.DLLに問題があり、存在する他の dll には問題がありません。