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);
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);