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