eosPoint(API)

From EosPedia
Jump to: navigation, search

General/eosPoint is API to use coordinates information of mrcImage file. It is used by marker2Dto3DEstimator, eosPointRotation, and so on.

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);