eosPoint(API)
From EosPedia
General/eosPoint is API to use coordinates information of mrcImage file. It is used by marker2Dto3DEstimator, eosPointRotation, and so on.
Contents
constant
struct
Coordinates value
typedef double eosPointParaTypeReal;
Coordinates Information data
typedef struct eosPointCoord { floatVector coord; eosPointParaTypeReal sigma; floatVector sig; } eosPointCoord;
Coordinates Information pointer
typedef struct eosPointList { eosPointCoord p; struct eosPointList* next; struct eosPointList* prev; } eosPointList ;
Coordinates Information list
typedef struct eosPoint { eosPointList* top; eosPointList* current; eosPointList* bottom; } eosPoint;
API
Coordinates Information list
Read from file
extern void eosPointRead(FILE* fpt, eosPoint* p, int mode);
Write to file
extern void eosPointWrite(FILE* fpt, eosPoint* p, int mode);
Initialization
extern void eosPointInit(eosPoint* p, eosPointCoord* pc);
Add coordinates Information
extern eosPointList* eosPointAppend(eosPoint* p, eosPointCoord* pc, int mode);
Move Coordinates Information Pointer
Move to top
extern eosPointList* eosPointTop(eosPoint* p);
Move to bottom
extern eosPointList* eosPointBottom(eosPoint* p);
Move to next
extern eosPointList* eosPointNext(eosPoint* p);
Move to preview
extern eosPointList* eosPointPrev(eosPoint* p);
Coordinates Information data
Initilization
extern void eosPointCoordInit(eosPointCoord* pc, int mode);
Setting
extern void eosPointCoordSet(eosPointCoord* p, eosPointParaTypeReal x, eosPointParaTypeReal y, eosPointParaTypeReal z); extern void eosPointCoordSigSet(eosPointCoord* p, eosPointParaTypeReal sigx, eosPointParaTypeReal sigy, eosPointParaTypeReal sigz);
Rotation
extern void eosPointRotate(eosPoint* p, Matrix3D mat); extern void eosPointRotate2(eosPoint* out, eosPoint* in, Matrix3D mat);
Copy
extern void eosPointCopy(eosPoint* out, eosPoint* in);