「eosPoint(API)」の版間の差分
提供: Eospedia
(→構造体) |
|||
行1: | 行1: | ||
− | General/'''eosPoint''' | + | General/'''eosPoint'''は[[mrcImage]]ファイルの座標情報を取り扱うためのAPI です。 |
== 定数 == | == 定数 == | ||
== 構造体 == | == 構造体 == | ||
+ | 座標値 | ||
typedef double eosPointParaTypeReal; | typedef double eosPointParaTypeReal; | ||
− | typedef struct | + | 座標情報データ |
− | + | typedef struct eosPointCoord { | |
− | eosPointParaTypeReal | + | floatVector coord; |
− | + | eosPointParaTypeReal sigma; | |
− | } | + | floatVector sig; |
+ | } eosPointCoord; | ||
+ | 座標情報ポインタ | ||
typedef struct eosPointList { | typedef struct eosPointList { | ||
− | + | 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/eosPointはmrcImageファイルの座標情報を取り扱うための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);