「eosPoint(API)」の版間の差分
提供: Eospedia
(ページの作成:「General/'''eosPoint'''はAPI です。 == 定数 == == 構造体 == typedef double eosPointParaTypeReal; typedef struct eosPoint { eosPointParaTypeReal x; eosPoin...」) |
|||
(同じ利用者による、間の3版が非表示) | |||
行1: | 行1: | ||
− | General/'''eosPoint''' | + | General/'''eosPoint'''は[[mrcImage]]ファイルの座標情報を取り扱うためのAPI です。[[marker2Dto3DEstimator]]や[[eosPointRotation]]などで使用しています。 |
== 定数 == | == 定数 == | ||
== 構造体 == | == 構造体 == | ||
+ | 座標値 | ||
typedef double eosPointParaTypeReal; | typedef double eosPointParaTypeReal; | ||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | 座標情報データ | ||
+ | typedef struct eosPointCoord { | ||
+ | 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:38時点における最新版
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);