Object
データオブジェクト¶
分子構造などのデータを格納しているオブジェクトを,データオブジェクトという.
- mol (分子構造)
- denmap (電子密度マップ)
- geom (一般的な幾何オブジェクト)
- surf (分子の溶媒接触表面)
などがある.
データオブジェクトはデータを保持するのみで, 画面への表示はデータオブジェクトにアタッチされた レンダラーによって行われる.
注意
「データオブジェクト」を単に「オブジェクト」と表記している場合があるので注意.
たとえば,分子構造のデータオブジェクトを単に「molオブジェクト」と表記している場合がある.
データオブジェクトの識別名¶
データオブジェクトはユニークな識別名を持っている. オブジェクトに対して何らかの操作を行う場合は, 通常この名前を指定して行う.
データオブジェクトの識別名は, ファイルからデーターを読込んでデータオブジェクトを作成する場合や(下記参照),空のデータオブジェクトを生成する場合(下記参照)に, ユーザーによって指定される. このとき,もし既に同名のデータオブジェクトが存在するようなケースでは エラーになり,例外が発生する.
注意
「qobj」QScriptオブジェクトは,この識別名を保持しているだけのラッパーであり,
データオブジェクトに対する操作を行う場合,
データオブジェクトの識別名を文字列で指定して行う方法以外に,
qobjのインスタンスに対しメソッドを呼び出す方法もある.
例えば,$molという変数に識別名「protein」というデータオブジェクトの,QScriptオブジェクトが格納されていた場合,
$mol.destroy();
と,
qobj.destroy("protein");
はまったく同じ結果になる.
後者のほうがスクリプトが簡潔になるので, 後者の使用が推奨される.
データオブジェクトの生成と破棄¶
qobj.createObj()スタティックメソッドにより空の状態のデータオブジェクトを作成できる.
さらに,qobj.readObj()スタティックメソッドにより,ファイルから生成できる.このとき,ファイル中のデータ形式に関する処理を行うデータリーダーを指定しなければならない.
逆に,ファイルへの書出しはqobj.writeObj()メソッド(スタティックメソッドでない点に注意!)により行うことができる. このとき,ファイルのデータ形式に関する処理を行う[[データライター>Ref/DataWriter>Ref/qsys/qobj]]を指定しなければならない.
データオブジェクトの破棄は,qobj.destroy()メソッド(スタティックメソッドでない点に注意!)により行うことができる.