📄 mifdoc.h
字号:
// MIFDoc.h : interface of the CMIFDoc class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_MIFDOC_H__98DF45FD_A0C6_49CE_948C_40CF284233F2__INCLUDED_)
#define AFX_MIFDOC_H__98DF45FD_A0C6_49CE_948C_40CF284233F2__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//颜色压缩与释放[unsigned int - 4 bytes]
#define PACK_COLOR(R,G,B,A) ( (A)<<24 | (B)<<16 | (G)<<8 | (R) )
#define UNPACK_RED(X) ( (X) & 0xff )
#define UNPACK_GREEN(X) ( ( (X) >> 8 ) & 0xff )
#define UNPACK_BLUE(X) ( ( (X) >> 16 ) & 0xff )
#define UNPACK_ALPHA(X) ( ( (X) >> 24 ) & 0xff )
//地理点结构[用于构造线、多边形等]
struct GeoPoint
{
float lon, lat, hgt; //位置
};
//地理站目标结构[用于测站、城市等]
struct Point
{
char name[16]; //名称
float lon, lat, hgt; //位置
char others[200]; //属性描述
int id; //点ID
};
struct PointType
{
char name[16]; //类型名
int num_pt; //站数目
struct Point *pt; //站表
//void free_pt_tp();
};
//地理线目标结构
struct Line
{
char name[16]; //名称
GeoPoint *pt; //点数组
int num_pt; //地理点数目
char others[200]; //属性描述
int id; //线ID
//void free_ln();
};
struct LineType
{
char name[16]; //类型名
int num_ln; //线数目
struct Line *ln; //线表
//void free_ln_tp();
};
//地理多边形目标结构
struct Polygon
{
char name[16]; //名称
int num_pt; //边界控制点数目
GeoPoint *pt; //边界控制点数组
char others[200]; //属性描述
int id; //多边形ID
//void free_pg();
};
struct PolygonType
{
char name[16]; //类型名
int num_pg; //多边形数目
struct Polygon *pg; //多边形表
//void free_pg_tp();
};
/*
void PointType::free_pt_tp()
{
if (pt)
{ delete []pt; pt = NULL; }
num_pt = 0;
}
void Line::free_ln()
{
if (pt)
{ delete []pt; pt = NULL; }
num_pt = 0;
}
void LineType::free_ln_tp()
{
if (ln)
{ delete []ln; ln = NULL; }
num_ln = 0;
}
void Polygon::free_pg()
{
if (pt)
{ delete []pt; pt = NULL; }
num_pt = 0;
}
void PolygonType::free_pg_tp()
{
if (pg)
{ delete []pg; pg = NULL; }
num_pg = 0;
}
*/
class CMIFDoc : public CDocument
{
protected: // create from serialization only
CMIFDoc();
DECLARE_DYNCREATE(CMIFDoc)
// Attributes
public:
void free_pg_type();
void free_ln_type();
void free_pt_type();
LineType* ln_type;
PointType* pt_type;
PolygonType* pg_type;
int num_pt_type;
int num_ln_type;
int num_pg_type;
void load_pg_mapinfo(char* filename);
void load_ln_mapinfo(char* filename);
void load_pt_mapinfo(char* filename);
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMIFDoc)
public:
virtual BOOL OnNewDocument();
virtual void Serialize(CArchive& ar);
//}}AFX_VIRTUAL
// Implementation
public:
BOOL redraw;
virtual ~CMIFDoc();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
// Generated message map functions
protected:
//{{AFX_MSG(CMIFDoc)
afx_msg void OnFileOpen();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_MIFDOC_H__98DF45FD_A0C6_49CE_948C_40CF284233F2__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -