Files
envi-code/SourceCode/Code2026/tg_shs/inc/subgeo/TPGeLandform.h
T
2026-09-28 15:28:50 +08:00

82 lines
1.6 KiB
C++

//-----------------------------------------------------------------------------+
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
// = FileName : TPGeLandform.h
// = Version : ver2.0
// = Author : xlc
// = CreateDate : 2002-09-09
// = Description: 类的声明 等高线实体
// = Maintainers:
//
//-----------------------------------------------------------------------------+
#ifndef _TPGELANDFORM_H_
#define _TPGELANDFORM_H_
#ifndef _TPDLIST_H_
#include "TPDList.h"
#endif
#ifndef _TPGECURVE2D_H_
#include "TPGeCurve2D.h"
#endif
#ifndef _TSQTABLE_H_
#include "TSqTable.h"
#endif
#ifndef _TSQTABLE2_H_
#include "TSqTable2.h"
#endif
#ifndef _TPGEGRIDNODE_H_
#include "TPGeGridNode.h"
#endif
#ifndef _TPGEGRIDCELL_H_
#include "TPGeGridCell.h"
#endif
#ifndef _TPGEGRIDLINE_H_
#include "TPGeGridLine.h"
#endif
class GEOAPI TPGeLandform : public TPDList<TPGeCurve2D>
{
public:
TPGeLandform();
virtual ~TPGeLandform();
bool IsValid()const;
//返回false时外部delete pCurve;
bool Append(TPGeCurve2D* pCurve);
const TPGeCurve2D& Outline()const;
double GetDistX()const;
double GetDistY()const;
double GetElev()const;
//建立网格数据结构,mlines返回凸多边形
bool CreateGridData(double distX, double distY, TGObjectList& mlines, int fitType = false);
protected:
double m_fDistX,m_fDistY;
//横向网格线,M
TSqTable<TPGeGridLine> m_allGridLineX;
//纵向网格线,N
TSqTable<TPGeGridLine> m_allGridLineY;
//网格交点阵列,M*N
TSqTable2<TPGeGridNode> m_allGridNode;
//网格阵列(M-1)*(N-1)
TSqTable2<TPGeGridCell> m_allGridCell;
};
#endif