「lmolvieProteinStatus(API)」の版間の差分

提供: Eospedia
移動: 案内検索
(API)
 
行41: 行41:
  
 
== API ==
 
== API ==
 +
=== 画面表示 ===
 +
Normal mode画面表示
 
  extern void lmolvieDisplayNormal(void);
 
  extern void lmolvieDisplayNormal(void);
extern pdbCenter getpdbCenter(int returnID);
+
参照:[[lmolvie(API)#画面表示]]
extern void putpdbCenter(pdbFile* putpdbfile);
+
<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);
extern void texture();
+
<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);

参照: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);