Softimage SDK アーキテクチャについて

 
 
 

Autodesk Softimage SDK の特長は、スクリプト コマンド APISoftimage オブジェクト モデル(OM)、および C++ API の 3 つの主要な API を採用していることです。 これらは個別に使用することも、特定の状況のもとで併用することもできます。 たとえば、コマンドをコンパイル済みツールで実行したい場合もあれば、スクリプト化したインターフェイスを使ってツールを実行したい場合もあります。

スクリプト コマンド API

スクリプト コマンド API は Autodesk Softimage 独自仕様のコマンド インターフェイス言語に基づいて構築された関数ライブラリであり、ActiveX に準拠した言語とともに使用できます。 メニュー項目とタスク ボタンは、すべてこれらの基本コマンドで制御されます。その大部分は、一時的にスクリプトを作成する場合でもツールを開発する場合でも、互換性のあるスクリプト言語(VBScript、JScript、Python ActiveX)のいずれかで使用することができます。また、これらのコマンドは、Application::ExecuteCommand 関数を使って C++ API で開発したコンパイル済みツールにも使用できます。

Softimage オブジェクト モデル

Softimage オブジェクト モデル(OM)は、クラスまたはインターフェイス(オブジェクト)とそのメンバ データ(プロパティ)、およびメンバ関数(メソッド)のコレクションです。Softimage の世界はこれらによって表されます。 たとえば、X3DObject クラスのインスタンスは Softimage 内の特定の 3D オブジェクトを表しており、データを取得、設定する手段、そのデータを空間と時間で操作する手段を提供します。また、ユーザが Softimage アプリケーション上で実行できる操作の大部分を、同じようにプログラムで実行する手段も提供します。

オブジェクト モデルは、ActiveX に準拠したスクリプト言語(VBScript、JScript、Python ActiveX)のいずれか、または C#(詳細については「C# 開発」を参照)を含む .NET 言語で使用できます。

C++ API

C++ API は Softimage オブジェクト モデルと同質の柔軟性と可用性を、純粋な C++ クラス ライブラリの形式で提供します。 C++ API は、COM ベースの Softimage アーキテクチャとその下層にある純粋な C++ 間のやりとりを処理するために構築されているため、MainWin やどの COM にも依存しません。

3 つの API の関係を表す図解

以下の図は SDK アーキテクチャを表します。

コンパイル済みのコードを記述する場合は、C++ API または Softimage オブジェクト モデルのいずれかを使用できます。 どちらの API も、Softimage のコア実装の上に位置するレイヤを形成します。 一方、スクリプト化されたコードでは、Scripting Engine が Softimage オブジェクト モデルの上に位置するレイヤを形成します。

スクリプトを記述する場合、通常は ActiveX に準拠した 4 つのスクリプト言語のいずれかで記述し、スクリプト コマンド APISoftimage オブジェクト モデルを併用します。 特定のスクリプト言語におけるこれら API の使用方法の概要とタスク別情報については、スクリプト開発を参照してください。 コマンドまたはオブジェクト モデル エレメントの詳細については、「コマンドおよびスクリプト リファレンス」を参照してください。

コンパイル済みのツールを C# で開発する場合は、COM API を使用します。 リンクすべきライブラリおよび含めるべきヘッダファイルの一般情報については、「C# 開発」を参照してください。 オブジェクト モデル エレメントの詳細については、「オブジェクト モデル リファレンス」を参照してください。

コンパイル済みツールを C++ で開発する場合は、ほぼ C++ API のみを単独で使用することになるでしょう。 リンクすべきライブラリおよび含めるべきヘッダファイルの一般情報については、「C++ API 開発」を参照してください。 クラスまたはクラス メンバの詳細については、「C++ リファレンス」を参照してください。