lmolvieProteinStatus(API)

提供: Eospedia
移動: 案内検索

DataExpress/eosOpenGL/src/lmolvieProteinStatusはAPI です。

定数

構造体

typedef struct pdbCenter{
	GLfloat xCenter;
	GLfloat yCenter;
	GLfloat zCenter;
	GLfloat xMax;
	GLfloat xMin;
	GLfloat xWidth;
	GLfloat yMax;
	GLfloat yMin;
	GLfloat yWidth;
	GLfloat zMax;
	GLfloat zMin;
	GLfloat zWidth;
}pdbCenter;
typedef struct elementSwitch{
	GLint elementC;
	GLint elementO;
	GLint elementN;
	GLint elementS;
	GLint elementP;
	GLint elementH;
	GLint elementFE;
}elementSwitch;
typedef struct ProteinStatus {
	pdbCenter __pdbCenter;
	elementSwitch __elementSwitch;
	GLint spin_x;
	GLint spin_y;
	GLint spin_z;
	GLfloat move_x;
	GLfloat move_y;
//	GLfloat move_z;
} ProteinStatus;

API

画面表示

Normal mode画面表示

extern void lmolvieDisplayNormal(void);

参照:lmolvie(API)#画面表示

PDB表示の初期化

extern void proteinInit();

全てのelementSwitchがON(1)となり、回転角度、移動座標を0とします。

先頭のPDBにテクスチャを張り付けます。

extern void texture();


elementSwitch

elementSwitchの取得(0: OFF, 1: ON)

extern elementSwitch get_elementSwitch(int ID);

elementSwitchの切り替え(0(OFF), 1(ON))

extern void put_elementSwitch(int ID, char atom);


中心座標

returnIDに依るPDBの中心座標(protein[returnID].__pdbCenter)を返します。

extern pdbCenter getpdbCenter(int returnID);

入力PDBファイルputpdbFileから中心座標を算出し、カメラを中心に合わせます。中心座標はprotein[ProteinNumber].__pdbCenterに格納します。

extern void putpdbCenter(pdbFile* putpdbfile);


回転角度

pdbIDで設定したPDBの回転角度を取得します。

extern int getSpin_x(int pdbID);
extern int getSpin_y(int pdbID);
extern int getSpin_z(int pdbID);

pdbIDで設定したPDBの回転角度からpanをマイナスします。

extern void proteinRotateX(int pan, int pdbID);
extern void proteinRotateY(int pan, int pdbID);
extern void proteinRotateZ(int pan, int pdbID);


移動座標

pdbIDで設定したPDBの移動座標を取得します。

extern int getMultiMoveX(int pdbID);
extern int getMultiMoveY(int pdbID);

移動座標にmove/10.0をプラスします。

extern void MultiMoveX(GLint move);
extern void MultiMoveY(GLint move);


保存・読み込み

状態保存(未実装)

extern void saveproteinStatus(ProteinStatus saveprotein);