「lmolvieProteinStatus(API)」の版間の差分
提供: Eospedia
(→API) |
|||
| 行41: | 行41: | ||
== API == | == API == | ||
| + | === 画面表示 === | ||
| + | Normal mode画面表示 | ||
extern void lmolvieDisplayNormal(void); | extern void lmolvieDisplayNormal(void); | ||
| − | + | 参照:[[lmolvie(API)#画面表示]] | |
| − | + | <br> | |
| + | |||
| + | [[PDB]]表示の初期化 | ||
extern void proteinInit(); | extern void proteinInit(); | ||
| + | 全てのelementSwitchがON(1)となり、回転角度、移動座標を0とします。 | ||
| + | <br> | ||
| + | |||
| + | 先頭の[[PDB]]にテクスチャを張り付けます。 | ||
| + | extern void texture(); | ||
| + | <br> | ||
| + | |||
| + | === elementSwitch === | ||
| + | elementSwitchの取得(0: OFF, 1: ON) | ||
extern elementSwitch get_elementSwitch(int ID); | extern elementSwitch get_elementSwitch(int ID); | ||
| + | |||
| + | elementSwitchの切り替え(0(OFF), 1(ON)) | ||
extern void put_elementSwitch(int ID, char atom); | extern void put_elementSwitch(int ID, char atom); | ||
| + | <br> | ||
| + | |||
| + | === 中心座標 === | ||
| + | returnIDに依る[[PDB]]の中心座標(protein[returnID].__pdbCenter)を返します。 | ||
| + | extern pdbCenter getpdbCenter(int returnID); | ||
| + | |||
| + | 入力[[PDB]]ファイルputpdbFileから中心座標を算出し、カメラを中心に合わせます。中心座標はprotein[ProteinNumber].__pdbCenterに格納します。 | ||
| + | extern void putpdbCenter(pdbFile* putpdbfile); | ||
| + | <br> | ||
| + | |||
| + | === 回転角度 === | ||
| + | pdbIDで設定した[[PDB]]の回転角度を取得します。 | ||
extern int getSpin_x(int pdbID); | extern int getSpin_x(int pdbID); | ||
extern int getSpin_y(int pdbID); | extern int getSpin_y(int pdbID); | ||
extern int getSpin_z(int pdbID); | extern int getSpin_z(int pdbID); | ||
| + | |||
| + | pdbIDで設定した[[PDB]]の回転角度からpanをマイナスします。 | ||
extern void proteinRotateX(int pan, int pdbID); | extern void proteinRotateX(int pan, int pdbID); | ||
extern void proteinRotateY(int pan, int pdbID); | extern void proteinRotateY(int pan, int pdbID); | ||
extern void proteinRotateZ(int pan, int pdbID); | extern void proteinRotateZ(int pan, int pdbID); | ||
| + | <br> | ||
| + | |||
| + | === 移動座標 === | ||
| + | pdbIDで設定した[[PDB]]の移動座標を取得します。 | ||
extern int getMultiMoveX(int pdbID); | extern int getMultiMoveX(int pdbID); | ||
extern int getMultiMoveY(int pdbID); | extern int getMultiMoveY(int pdbID); | ||
| + | |||
| + | 移動座標にmove/10.0をプラスします。 | ||
extern void MultiMoveX(GLint move); | extern void MultiMoveX(GLint move); | ||
extern void MultiMoveY(GLint move); | extern void MultiMoveY(GLint move); | ||
| + | <br> | ||
| + | |||
| + | === 保存・読み込み === | ||
| + | 状態保存(未実装) | ||
extern void saveproteinStatus(ProteinStatus saveprotein); | extern void saveproteinStatus(ProteinStatus saveprotein); | ||
| − | + | <br> | |
2015年3月20日 (金) 07:30時点における最新版
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);