00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef APP_VINFO_H
00029 #define APP_VINFO_H
00030
00031 #include <config.h>
00032 #include <libgnome/libgnome.h>
00033
00034 #include <gdk/gdk.h>
00035
00036 #include "xsmtypes.h"
00037 #include "gapp_service.h"
00038 #include "scan.h"
00039
00040 #include "gxsm_app.h"
00041
00042 class ViewInfo{
00043 public:
00044 ViewInfo(Scan *Sc, int qf, int zf);
00045 virtual ~ViewInfo(){};
00046
00047 void SetQfZf(int qf, int zf){
00048 Qfac = qf; Zfac=zf;
00049 };
00050
00051 void SetPixelUnit(int flag=TRUE){ pixelmode=flag; };
00052 void SetCoordMode(SCAN_COORD_MODE scm=SCAN_COORD_ABSOLUTE){ sc_mode=scm; };
00053 void ChangeXYUnit(UnitObj *u){ uy=ux=u; };
00054 void ChangeXUnit(UnitObj *u){ ux=u; };
00055 void ChangeYUnit(UnitObj *u){ uy=u; };
00056 void ChangeZUnit(UnitObj *u){ uz=u; };
00057
00058 gchar *makeXinfo(double x);
00059 gchar *makeDXYinfo(double xy1[2], double xy2[2], Point2D *p1=NULL, Point2D *p2=NULL);
00060 gchar *makeDnXYinfo(double *xy, int n);
00061 gchar *makeA2info(double xy1[2], double xy2[2]);
00062 gchar *makeXYinfo(double x, double y, Point2D *p=NULL);
00063 gchar *makedXdYinfo(double xy1[2], double xy2[2]);
00064 gchar *makeXYZinfo(double x, double y, Point2D *p=NULL);
00065
00066 void Angstroem2W(double &x, double &y);
00067 void W2Angstroem(double &x, double &y);
00068
00069 int GetQfac() { return Qfac; };
00070 int GetZfac() { return Zfac; };
00071
00072 UnitObj *Ux();
00073 UnitObj *Uy();
00074 UnitObj *Uz();
00075
00076 Scan *sc;
00077 private:
00078 UnitObj *ux;
00079 UnitObj *uy;
00080 UnitObj *uz;
00081 int Qfac, Zfac;
00082 int pixelmode;
00083 SCAN_COORD_MODE sc_mode;
00084 };
00085
00086 #endif