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

提供: Eospedia
移動: 案内検索
(構造体)
行1: 行1:
General/'''eosPoint'''はAPI です。
+
General/'''eosPoint'''は[[mrcImage]]ファイルの座標情報を取り扱うためのAPI です。
  
 
== 定数 ==
 
== 定数 ==
  
 
== 構造体 ==
 
== 構造体 ==
 +
座標値
 
  typedef double eosPointParaTypeReal;
 
  typedef double eosPointParaTypeReal;
  
  typedef struct eosPoint {
+
座標情報データ
  eosPointParaTypeReal x;
+
  typedef struct eosPointCoord {
  eosPointParaTypeReal y;   
+
  floatVector coord;
  eosPointParaTypeReal z;
+
  eosPointParaTypeReal sigma;   
  } eosPoint;
+
  floatVector sig;
 +
  } eosPointCoord;
  
 +
座標情報ポインタ
 
  typedef struct eosPointList {
 
  typedef struct eosPointList {
  eosPoint p;
+
  eosPointCoord p;
 
  struct eosPointList* next;
 
  struct eosPointList* next;
 
  struct eosPointList* prev;
 
  struct eosPointList* prev;
 
  } eosPointList ;
 
  } eosPointList ;
 +
 +
座標情報リスト
 +
typedef struct eosPoint {
 +
eosPointList* top; 
 +
eosPointList* current; 
 +
eosPointList* bottom; 
 +
} eosPoint;
  
 
== API ==
 
== API ==
 +
===座標情報リストの処理===
 +
ファイルから読み込み
 +
extern void eosPointRead(FILE* fpt, eosPoint* p, int mode);
 +
 +
ファイルへ書き出し
 +
extern void eosPointWrite(FILE* fpt, eosPoint* p, int mode);
 +
 +
初期化
 +
extern void eosPointInit(eosPoint* p, eosPointCoord* pc);
 +
 +
座標情報の追加
 +
extern eosPointList* eosPointAppend(eosPoint* p, eosPointCoord* pc, int mode);
 +
 +
===座標情報ポインタの移動処理===
 +
先頭へ移動
 +
extern eosPointList* eosPointTop(eosPoint* p);
 +
 +
末尾へ移動
 +
extern eosPointList* eosPointBottom(eosPoint* p);
 +
 +
次へ移動
 +
extern eosPointList* eosPointNext(eosPoint* p);
 +
 +
前へ移動
 +
extern eosPointList* eosPointPrev(eosPoint* p);
 +
 +
===座標情報データの処理===
 +
初期化
 +
extern void eosPointCoordInit(eosPointCoord* pc, int mode);
 +
 +
設定
 +
extern void eosPointCoordSet(eosPointCoord* p, eosPointParaTypeReal x, eosPointParaTypeReal y, eosPointParaTypeReal z);
 +
extern void eosPointCoordSigSet(eosPointCoord* p, eosPointParaTypeReal sigx, eosPointParaTypeReal sigy, eosPointParaTypeReal sigz);
 +
 +
回転
 +
extern void eosPointRotate(eosPoint* p, Matrix3D mat);
 +
extern void eosPointRotate2(eosPoint* out, eosPoint* in, Matrix3D mat);
 +
 +
コピー
 +
extern void eosPointCopy(eosPoint* out, eosPoint* in);

2014年6月13日 (金) 07:20時点における版

General/eosPointmrcImageファイルの座標情報を取り扱うためのAPI です。

定数

構造体

座標値

typedef double eosPointParaTypeReal;

座標情報データ

typedef struct eosPointCoord {
	floatVector coord;
	eosPointParaTypeReal sigma;  
	floatVector sig;
} eosPointCoord;

座標情報ポインタ

typedef struct eosPointList {
	eosPointCoord p;
	struct eosPointList* next;
	struct eosPointList* prev;
} eosPointList ;

座標情報リスト

typedef struct eosPoint {
	eosPointList* top;  
	eosPointList* current;  
	eosPointList* bottom;  
} eosPoint;

API

座標情報リストの処理

ファイルから読み込み

extern void eosPointRead(FILE* fpt, eosPoint* p, int mode); 

ファイルへ書き出し

extern void eosPointWrite(FILE* fpt, eosPoint* p, int mode); 

初期化

extern void eosPointInit(eosPoint* p, eosPointCoord* pc);

座標情報の追加

extern eosPointList* eosPointAppend(eosPoint* p, eosPointCoord* pc, int mode);

座標情報ポインタの移動処理

先頭へ移動

extern eosPointList* eosPointTop(eosPoint* p);

末尾へ移動

extern eosPointList* eosPointBottom(eosPoint* p);

次へ移動

extern eosPointList* eosPointNext(eosPoint* p);

前へ移動

extern eosPointList* eosPointPrev(eosPoint* p);

座標情報データの処理

初期化

extern void eosPointCoordInit(eosPointCoord* pc, int mode);

設定

extern void eosPointCoordSet(eosPointCoord* p, eosPointParaTypeReal x, eosPointParaTypeReal y, eosPointParaTypeReal z);
extern void eosPointCoordSigSet(eosPointCoord* p, eosPointParaTypeReal sigx, eosPointParaTypeReal sigy, eosPointParaTypeReal sigz);

回転

extern void eosPointRotate(eosPoint* p, Matrix3D mat);
extern void eosPointRotate2(eosPoint* out, eosPoint* in, Matrix3D mat);

コピー

extern void eosPointCopy(eosPoint* out, eosPoint* in);