MapLine.h
上传用户:bjslfz
上传日期:2022-07-25
资源大小:4430k
文件大小:1k
源码类别:

文件操作

开发平台:

C/C++

  1. /************************************************************
  2.   文件名: MapLine.h
  3.   
  4.   作者:   谢婧       Version : 1.0          Date: 2008/05/26
  5.   
  6.   类描述: 对多义线对象的管理
  7.   
  8.   邮件地址:xiejing0707@163.com
  9. ***********************************************************/
  10. #ifndef _MAP_LINE_H_
  11. #define _MAP_LINE_H_
  12. #include "MapParts.h"
  13. class CMapLine:public CObject 
  14. {
  15.     
  16. DECLARE_DYNAMIC(CMapLine)
  17. public:
  18. CMapLine();
  19. CMapLine(CMapLine& mapline );
  20. ~CMapLine();
  21. //Attributes
  22. public:
  23.    long GetCount();
  24.    CMapRectangle GetExtent();
  25.    void SetExtent(CMapRectangle& exent);
  26.    CMapParts* GetParts(long lIndex);
  27.    double GetLength();
  28.    double Distance(CMapPoint& pt );
  29.    double ptToSegment(CMapPoint& pt,CMapPoint& ptStart,CMapPoint& ptEnd);
  30. //operation
  31. public:
  32. void Add(CMapParts* pParts);
  33. void Set(long lIndex , CMapParts* pParts);
  34. void SetIndex(unsigned int uiIndex ) { m_uiIndex = uiIndex ; }; 
  35. unsigned int GetIndex() { return m_uiIndex; }; 
  36. void Remove(long lIndex);
  37. void Insert(long lndex , CMapParts* pParts);
  38.     void Clear();
  39. CArray<CMapParts*,CMapParts*> m_Line; //存储点集合对象
  40. private:
  41. unsigned int m_uiIndex;  //索引值
  42. CString m_csID;
  43. CMapRectangle m_Extent;
  44. };
  45. #endif //_MAP_LINE_H_