gui_geometrydata.h

来自「linux下一款GIS程序源码」· C头文件 代码 · 共 95 行

H
95
字号
/*  gui_geometrydata.h  *//*    用来存储每个图层中几何图形的坐标等绘图信息*/#ifndef GUI_GEOMETRYDATA_H#define GUI_GEOMETRYDATA_Htypedef enum{    GEO_NONE,    GEO_POINT,    GEO_LINE,    //GEO_REGION,}LayerGeoType;typedef struct{    double x;    double y;}RawPoint;typedef struct {    int numPoint;    RawPoint *Points;}RawLine;/**********************************************	GUI_GeomegryData:       几何图形基类**********************************************/class GUI_GeometryData{public:     GUI_GeometryData(){m_geoNum=0;}    virtual ~GUI_GeometryData(){}        virtual LayerGeoType getGeoType(){return GEO_NONE;}    virtual int getGeoNum(){return m_geoNum;}    virtual void setGeoNum(int num){m_geoNum=num;}protected:    int m_geoNum;};/******************************************************    GUI_GeometryPoint:     保存几何图形为点(多个点)的Feature的坐标信息  ******************************************************/class GUI_GeometryPoint: public GUI_GeometryData{public:    GUI_GeometryPoint();    virtual ~GUI_GeometryPoint();          virtual LayerGeoType getGeoType(){return GEO_POINT;}    virtual void setGeoNum(int num);    void addPoint(int idx,double x, double y);    RawPoint* getPoint(int idx);private:       RawPoint *m_geoPoints;};/******************************************************    GUI_GeometryLine:     保存几何图形为线(多线)的Feature的坐标信息  ******************************************************/class GUI_GeometryLine: public GUI_GeometryData{public:    GUI_GeometryLine();    virtual ~GUI_GeometryLine();        virtual LayerGeoType getGeoType(){return GEO_LINE;}    virtual void setGeoNum(int num);    void addLine(int idx, RawPoint *pts,int ptNum);    RawLine *getLine(int idx);private:    RawLine *m_geoLines;    };/******************************************************     GUI_GeometryRegion:     保存几何图形为区域的Feature的坐标信息******************************************************//*    区域图形暂时也是只需存储边界线 用GUI_GeometryLine替代 class GUI_GeometryRegion: public GUI_GeometryData{    };*/#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?