eosPoint(API)
提供: Eospedia
General/eosPointはmrcImageファイルの座標情報を取り扱うためのAPI です。marker2Dto3DEstimatorやeosPointRotationなどで使用しています。
定数
構造体
座標値
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);