|
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F>ļ<EFBFBD> Xy.h
|
|
|
|
|
|
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
|
|
|
|
|
|
//
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2005-12-07
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include <map>
|
|
|
|
|
|
#include "afxdb.h"
|
|
|
|
|
|
#include "xydc.h"
|
|
|
|
|
|
#include "rect8ex.h"
|
|
|
|
|
|
#include "afxcoll.h"
|
|
|
|
|
|
#include ".\classlist.h"
|
|
|
|
|
|
#include "..\projectionLib\projection.h"
|
|
|
|
|
|
#include ".\fileencrypt.h"
|
|
|
|
|
|
#include "MapStringToPtrNoCase.h"
|
|
|
|
|
|
#include "XyElementFilter.h"
|
|
|
|
|
|
#include <unordered_map>
|
|
|
|
|
|
#include "Util.h"
|
|
|
|
|
|
#include "VtkSettings.h"
|
|
|
|
|
|
#include <optional>
|
|
|
|
|
|
|
|
|
|
|
|
// <20><EFBFBD><F0B6ABB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ͷ<EFBFBD><CDB7>ħ<EFBFBD><C4A7>
|
|
|
|
|
|
#define KEVISUALIZATION_BINARY 1001101
|
|
|
|
|
|
|
|
|
|
|
|
#define XY_STYLE_DERIVED_LEGEND 0x0001 //<2F>̳<EFBFBD><CCB3><EFBFBD><EFBFBD><EFBFBD>,<2C>Dz<EFBFBD><C7B2><EFBFBD>Ӧ<EFBFBD>ø<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ̳<CEBC><CCB3><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
#define XY_STYLE_LAYER_SORT 0x0002 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾԪ<CABE><D4AA>
|
|
|
|
|
|
|
|
|
|
|
|
class CCgmDefaultInfo //Ϊ<>˶<EFBFBD>ȡCGM<47><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD>ļ<EFBFBD>ʱ,<2C><><EFBFBD><EFBFBD>DOC<4F><43><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CCgmDefaultInfo()
|
|
|
|
|
|
{
|
|
|
|
|
|
mode=-1;
|
|
|
|
|
|
scaling=1;
|
|
|
|
|
|
};
|
|
|
|
|
|
int mode;
|
|
|
|
|
|
double scaling;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class COne;
|
|
|
|
|
|
class AFX_EXT_CLASS CXy
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CXy();
|
|
|
|
|
|
virtual ~CXy();
|
|
|
|
|
|
virtual void Clear(void);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
NBase::CRect8 m_markRect; //<2F><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ʱ, <20><>ʾ<EFBFBD><CABE><EFBFBD>ŵķ<C5B5>Χ, Ϊ<><CEAA><EFBFBD><EFBFBD>CInsertDraw<61><77><EFBFBD><EFBFBD>ʾʱ<CABE><CAB1><EFBFBD><EFBFBD>ȷ
|
|
|
|
|
|
NBase::CRect8 m_range; //ͼ<><CDBC><EFBFBD>ķ<EFBFBD>Χ
|
|
|
|
|
|
NBase::CRect8 m_display; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>Χ
|
|
|
|
|
|
short m_version; //<2F><>ȡ<EFBFBD>İ汾<C4B0><E6B1BE>
|
|
|
|
|
|
|
|
|
|
|
|
NBase::CSize8 m_scaleSize; //ͼ<><CDBC><EFBFBD>ĺ<EFBFBD><C4BA>ݱ<EFBFBD><DDB1><EFBFBD>
|
|
|
|
|
|
CSize m_unit; //x,y<><79><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>λѡ<CEBB><D1A1>
|
|
|
|
|
|
CString m_strName; //ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
CString m_strMaker; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
CString m_strDate; //ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
double m_dScaleFactor; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>ǰͼ<C7B0><CDBC><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>ֵ<EFBFBD><D6B5>1<EFBFBD><31>m_dScaleFactor
|
|
|
|
|
|
|
|
|
|
|
|
long color;
|
|
|
|
|
|
CMapStringToPtrNoCase mark;
|
|
|
|
|
|
void* m_DataClassAppend; //<2F><><EFBFBD>ӵķ<D3B5><C4B7><EFBFBD><E0B7BD>
|
|
|
|
|
|
CHowToViewCurve* HowToViewCurve;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
CHowToViewPoint* HowToViewPoint;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
CProjection m_ExchangeXYZ; //ͶӰ
|
|
|
|
|
|
CString projection;
|
|
|
|
|
|
//CMeshPackage* m_pMeshPackage; // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
BOOL m_bRealTimeDraw; // <20><>ȡ<EFBFBD>ļ<EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD>ʵʱ<CAB5><CAB1><EFBFBD><EFBFBD>ͼ<EFBFBD>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
COLORREF m_symbolBackcolor = 16777216; // <20><><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
|
|
|
|
COLORREF m_symbolForecolor = 16777216; // <20><><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
std::unique_ptr<CFileEncrypt> m_pEncrypt; //<2F><><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
CLayer* m_pLayer; //CLayer*CXy
|
|
|
|
|
|
BOOL m_bXyDrawContinue; //<2F>Զ<EFBFBD>DRAW<41><57>־,<2C><>ΪFALSEʱ,ֹͣDRAW<41><57><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int m_tempViewState; //Ԫ<>ص<EFBFBD><D8B5><EFBFBD>ʾ״̬<D7B4><CCAC><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
|
double m_RedundantError; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
DWORD m_dwFlags; //<2F><><EFBFBD><EFBFBD>,<2C><><EFBFBD>̳<EFBFBD><CCB3><EFBFBD><EFBFBD><EFBFBD>,<2C>Ƿ<C7B7><F1B0B4B2><EFBFBD>ʾԪ<CABE>ص<EFBFBD>,Ϊ<>˱<EFBFBD><CBB1><EFBFBD><EFBFBD><EFBFBD>չ
|
|
|
|
|
|
|
|
|
|
|
|
POSITION AddElement(COne* pOne);
|
|
|
|
|
|
|
|
|
|
|
|
CPtrList value; //<2F><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й©
|
|
|
|
|
|
CClassList m_ClassList; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
virtual COleObject* ReadOleData(CFile& fr, const short &ver);
|
|
|
|
|
|
BOOL m_bEnablePackage = FALSE;
|
|
|
|
|
|
CString m_faultLayer; // <20>ϲ<EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
|
CString m_borderLayer; // <20>߽<EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
|
|
|
|
|
|
|
CString m_meshLayer3D; // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
|
CString m_faultLayer3D; // <20>ϲ<EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
|
CString m_borderLayer3D; // <20>߽<EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
|
CString m_wellLayer3D; // <20><>ͼ<EFBFBD><CDBC>
|
|
|
|
|
|
int64_t m_mainMeshId3D = -1;
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
CPtrList m_printTemplateList; //<2F>ļ<EFBFBD><C4BC>еĴ<D0B5>ӡģ<D3A1><C4A3><EFBFBD>б<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
//Ϊ<><CEAA><EFBFBD><EFBFBD>չ<EFBFBD>ඨ<EFBFBD><E0B6A8>
|
|
|
|
|
|
void* CreateExtendObject(int nType); //return CBaseExtend*
|
|
|
|
|
|
int FindExtendType(LPCTSTR lpszKey);
|
|
|
|
|
|
bool CreateMeshPackage();
|
|
|
|
|
|
void EnableMeshPackage(BOOL enable,BOOL force = FALSE);
|
|
|
|
|
|
bool IsEnableMeshPackage() { return this->m_bEnablePackage; }
|
|
|
|
|
|
void SetFaultLayer(CString layer);
|
|
|
|
|
|
CString GetFaultLayer();
|
|
|
|
|
|
void SetBorderLayer(CString layer);
|
|
|
|
|
|
CString GetBorderLayer();
|
|
|
|
|
|
|
|
|
|
|
|
void SetMeshLayer3D(const CString& layer);
|
|
|
|
|
|
const CString& GetMeshLayer3D() const;
|
|
|
|
|
|
void SetFaultLayer3D(const CString& layer);
|
|
|
|
|
|
const CString& GetFaultLayer3D() const;
|
|
|
|
|
|
void SetBorderLayer3D(const CString& layer);
|
|
|
|
|
|
const CString& GetBorderLayer3D() const;
|
|
|
|
|
|
void SetWellLayer3D(const CString& layer);
|
|
|
|
|
|
const CString& GetWellLayer3D();
|
|
|
|
|
|
void SetMainMeshId3D(int64_t id);
|
|
|
|
|
|
int64_t GetMainMeshId3D() const;
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
BOOL ReadOtherWithExtension(LPCTSTR lpstrFileName, CCgmDefaultInfo* pCgmInfo=NULL); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><D5B9><EFBFBD>Զ<EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ȡ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dfd,dfb,xyz<79>ȸ<EFBFBD>ʽ
|
|
|
|
|
|
BOOL ReadOtherWithExtension(CFile& fr, CString ext, CCgmDefaultInfo* pCgmInfo/*=NULL*/);
|
|
|
|
|
|
/**
|
|
|
|
|
|
* ע<EFBFBD>⣡<EFBFBD><EFBFBD>ȡ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD> bug<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD>Ŵ<EFBFBD>С
|
|
|
|
|
|
*/
|
|
|
|
|
|
BOOL ReadWithExtension(LPCTSTR lpstrFileName); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><D5B9><EFBFBD>Զ<EFBFBD>ʶ<EFBFBD><CAB6>˫<EFBFBD><CBAB><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ȡ
|
|
|
|
|
|
BOOL ReadMemory(BYTE* bufFile, int bufLen, int formatCode); // formatCode: 1=dfd, 2=dfb, 3=dml, 4=pcg
|
|
|
|
|
|
BOOL WriteMemory(BYTE*& bufFile, int& bufLen, int formatCode); // formatCode: 1=dfd, 2=dfb, 3=dml, 4=pcg
|
|
|
|
|
|
BOOL WriteMemory(BYTE*& bufFile, int& bufLen, NBase::CPositionList& select, int formatCode, const short& ver);
|
|
|
|
|
|
void SaveAsWithExtension(LPCTSTR lpszFileName, short ver=-1, BOOL bWriteAllLayerName=TRUE);
|
|
|
|
|
|
|
|
|
|
|
|
POSITION ReadImageRecognise(LPCTSTR lpcsImageName); //<2F>Զ<EFBFBD>ʶ<EFBFBD><CAB6>ͼ<EFBFBD><CDBC><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
CImageInsert* FromImage(LPCTSTR lpcsImageName);
|
|
|
|
|
|
CMetaFile* FromWMF(LPCTSTR lpcsWmfName);
|
|
|
|
|
|
CMxn* FromSegy(LPCTSTR lpszSegyName);
|
|
|
|
|
|
CSection* FromSegyMemory(LPCTSTR lpszSegyName, BOOL bReadCoor=FALSE, int posx=72, int posy=76);
|
|
|
|
|
|
|
|
|
|
|
|
int DFD_ReadOnlyCurveLayer(LPCTSTR lpstrFileName); //ֻ<><D6BB>ȡ<EFBFBD>ļ<EFBFBD><C4BC>еIJ<D0B5>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD><DFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
int FromCgm(LPCTSTR lpszPathName, CCgmDefaultInfo* pCgmInfo=NULL); //<2F><><EFBFBD><EFBFBD>CCgm<67>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,pCgmInfoΪCGM<47>еı<D0B5><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int FromCgm(CFile& fr, CCgmDefaultInfo* pCgmInfo=NULL); //<2F><><EFBFBD><EFBFBD>CCgm<67>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,pCgmInfoΪCGM<47>еı<D0B5><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int FromShp(LPCTSTR lpszPathName); //<2F><>ArcView<65>е<EFBFBD>SHP<48>ļ<EFBFBD><C4BC>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int FromMif(LPCTSTR lpszPathName); //<2F><>MapInfo<66>е<EFBFBD>Mif<69>ļ<EFBFBD><C4BC>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int FromDxf(LPCTSTR lpszPathName); //<2F><>AutoCAD<41>е<EFBFBD>DXF<58>ļ<EFBFBD><C4BC>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int FromDxf(CFile& fr); //<2F><>AutoCAD<41>е<EFBFBD>DXF<58>ļ<EFBFBD><C4BC>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int FromUmapAsc(LPCTSTR lpszPathName); //<2F><>UMap<61><70><EFBFBD><EFBFBD><EFBFBD>뽻<EFBFBD><EBBDBB><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>asc
|
|
|
|
|
|
int FromUmapBlk(LPCTSTR lpszPathName); //<2F><>UMap<61><70><EFBFBD><EFBFBD><EFBFBD>뽻<EFBFBD><EBBDBB><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>blk
|
|
|
|
|
|
int FromMapGis(LPCTSTR lpszPathName); //<2F><>MapGis<69>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD>ļ<EFBFBD><C4BC>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int FromGeoMap(LPCTSTR lpszPathName); //<2F><>GeoMap<61><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD>ļ<EFBFBD><C4BC>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int FromZgf(LPCTSTR lpszPathName); //<2F><>ZMAP<41><50>ZGF<47><46>ʽ<EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int FromGridAuto(LPCTSTR lpszFileName); //<2F>Զ<EFBFBD>ʶ<EFBFBD><CAB6>GRID<49>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ж<EFBFBD>ȡ(*.grd,*.grid)
|
|
|
|
|
|
int FromGeoFrame_Map(LPCTSTR lpszPathName); //<2F><>ȡGeoFrame<6D><65>Map<61>ļ<EFBFBD>
|
|
|
|
|
|
int FromEmf(LPCTSTR lpszPathName); //<2F><>ȡEMF<4D>ļ<EFBFBD>
|
|
|
|
|
|
int FromGDBX(LPCTSTR lpszPathName); //<2F><>ȡGDBX<42>ļ<EFBFBD>(xml<6D><6C><EFBFBD><EFBFBD>)
|
|
|
|
|
|
int FromKML(LPCTSTR lpszPathName); //<2F><>ȡGDBX<42>ļ<EFBFBD>(xml<6D><6C><EFBFBD><EFBFBD>)
|
|
|
|
|
|
|
|
|
|
|
|
int ToCgm(CXyDC* pXyDC, CFile& fw); //<2F><><EFBFBD><EFBFBD>CGM<47>ļ<EFBFBD>
|
|
|
|
|
|
int ToCgm(CXyDC* pXyDC, LPCTSTR lpszPathName); //<2F><><EFBFBD><EFBFBD>CGM<47>ļ<EFBFBD>
|
|
|
|
|
|
int ToEps(CXyDC* pXyDC, CFile& fw); //<2F><><EFBFBD><EFBFBD>EPS<50>ļ<EFBFBD>
|
|
|
|
|
|
int ToEps(CXyDC* pXyDC, LPCTSTR lpszPathName); //<2F><><EFBFBD><EFBFBD>ΪEPS<50>ļ<EFBFBD>;
|
|
|
|
|
|
int ToPdf(CXyDC* pXyDC, CFile& fw, const NBase::CRect8& pRect,
|
|
|
|
|
|
bool state, int cType, int sType); //<2F><><EFBFBD><EFBFBD>PDF<44>ļ<EFBFBD>
|
|
|
|
|
|
int ToPdf(CXyDC* pXyDC, LPCTSTR lpszPathName, const NBase::CRect8& pRect,
|
|
|
|
|
|
bool state, int cType, int sType); //<2F><><EFBFBD><EFBFBD>ΪPDF<44>ļ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
int ToDxf(CXyDC* pXyDC, CFile& fw); //<2F><><EFBFBD><EFBFBD>DXF<58>ļ<EFBFBD>
|
|
|
|
|
|
int ToDxf(CXyDC* pXyDC, LPCTSTR lpszPathName); //<2F><><EFBFBD><EFBFBD>ΪDXF<58>ļ<EFBFBD>;
|
|
|
|
|
|
int ToUmap(CXyDC* pXyDC, CFile& fw); //<2F><><EFBFBD><EFBFBD>ΪUMap<61>ļ<EFBFBD>,Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int ToMapGisAsc(CXyDC* pXyDC, CFile& fw, BOOL bCreateLayerFile); //<2F><><EFBFBD><EFBFBD>MapGis<69><73><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
|
int ToMapGisAsc(CXyDC* pXyDC, LPCTSTR lpszPathName, BOOL bCreateLayerFile); //<2F><><EFBFBD><EFBFBD>ΪMapGis<69><73><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>;
|
|
|
|
|
|
int ToKML(CFile& fw); //<2F><><EFBFBD><EFBFBD>google KML<4D>ļ<EFBFBD>
|
|
|
|
|
|
int ToGeoMap(CXyDC* pXyDC, CFile& fw); //<2F><><EFBFBD><EFBFBD>GeoMap<61><70>GDB<44>ļ<EFBFBD>
|
|
|
|
|
|
int ToGeoMap(CXyDC* pXyDC, LPCTSTR lpszPathName); //<2F><><EFBFBD><EFBFBD>GeoMap<61><70>GDB<44>ļ<EFBFBD>
|
|
|
|
|
|
int ToGDBX(CXyDC* pXyDC, CFile& fw);
|
|
|
|
|
|
|
|
|
|
|
|
/////////////////////DML<4D><4C>ʽ////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
public:
|
|
|
|
|
|
virtual int DML_Read(CString m_input, short ver=-1);
|
|
|
|
|
|
virtual int DML_Read2(CFile& fr, short ver=-1); //XML<4D>ļ<EFBFBD><C4BC><EFBFBD>д
|
|
|
|
|
|
virtual int DML_Read(CFile& fr, short ver=-1); //XML<4D>ļ<EFBFBD><C4BC><EFBFBD>д
|
|
|
|
|
|
virtual int DML_ReadData(CFile& fr, short ver=-1);
|
|
|
|
|
|
virtual int DML_Write(CFile& fw, NBase::CPositionList& select, short ver=-1);
|
|
|
|
|
|
virtual int DML_Write(CFile& fw, short ver=-1, BOOL bWriteAllLayerName=TRUE, int nBaseTabNum=0);
|
|
|
|
|
|
virtual int DML_WriteAll(CFile& fw, short ver=-1, BOOL bWriteAllLayerName=TRUE);
|
|
|
|
|
|
virtual int DML_Write(LPCTSTR lpszFileName, short ver=-1, BOOL bWriteAllLayerName=TRUE);
|
|
|
|
|
|
virtual void DML_WriteData(CFile& fw, short ver, BOOL bWriteAllLayerName, int nBaseTabNum);
|
|
|
|
|
|
|
|
|
|
|
|
void DML_WriteViewState(CFile &fw, int view_state, short ver, int nBaseTabNum);
|
|
|
|
|
|
void DML_Write(CProjection& pj, CFile& fw, short ver, int nBaseTabNum);
|
|
|
|
|
|
int DML_Read(CProjection& pj, CFile& fr, short ver);
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
int DML_ReadSectionHead(CFile& fr, short ver=-1);
|
|
|
|
|
|
int DML_ReadSectionSymbols(CFile& fr, short ver=-1);
|
|
|
|
|
|
int DML_ReadSectionClasses(CFile& fr, short ver=-1);
|
|
|
|
|
|
int DML_ReadSectionLayers(CFile& fr, short ver=-1);
|
|
|
|
|
|
int DML_ReadSectionEmbellish(CFile& fr, short ver=-1);
|
|
|
|
|
|
int DML_ReadSectionData(CFile& fr, short ver=-1);
|
|
|
|
|
|
int DML_ReadSectionTail(CFile& fr, short ver=-1);
|
|
|
|
|
|
private :
|
|
|
|
|
|
void DeSerialize(CArchive& ar);
|
|
|
|
|
|
/////////////////////<2F><><EFBFBD><EFBFBD>PCG<43><47>ʽ////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
public:
|
|
|
|
|
|
void AddEmbed(COne* pOne,CXy* pXy= NULL); //<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>COne<6E><65>һ<EFBFBD><D2BB>Ƕ<EFBFBD><C7B6>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>xy
|
|
|
|
|
|
void PCG_InsertWellOrSectionToMap(CString filePath, CXyDC * pdc); //<2F><><EFBFBD><EFBFBD>pcg<63><67>ʽ<EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ
|
|
|
|
|
|
std::vector<COne*> & GetLatestReadOnes(); //ggff
|
|
|
|
|
|
virtual int PCG_Read2(CString filePath, short ver = -1); //XML<4D>ļ<EFBFBD><C4BC><EFBFBD>д
|
|
|
|
|
|
virtual int PCG_Read(CString m_input, short ver=-1);
|
|
|
|
|
|
virtual int PCG_Read2(CFile& fr, short ver=-1); //XML<4D>ļ<EFBFBD><C4BC><EFBFBD>д
|
|
|
|
|
|
virtual int PCG_Read(CFile& fr, short ver=-1); //XML<4D>ļ<EFBFBD><C4BC><EFBFBD>д
|
|
|
|
|
|
int Pcg2_ReadPlaneMap(CFile& fr, short ver); // PCG2.0
|
|
|
|
|
|
virtual int PCG_ReadData(CFile& fr, short ver=-1, void * pXy=NULL);
|
|
|
|
|
|
virtual int PCG_Write(CFile& fw, CPositionList& select, short ver=-1);
|
|
|
|
|
|
virtual int PCG_Write(CFile& fw, short ver=-1, BOOL bWriteAllLayerName=TRUE, int nBaseTabNum=0);
|
|
|
|
|
|
virtual int PCG_WriteAll(CFile& fw, short ver=-1, BOOL bWriteAllLayerName=TRUE);
|
|
|
|
|
|
virtual int PCG_Write(LPCTSTR lpszFileName, short ver=2, BOOL bWriteAllLayerName=TRUE);
|
|
|
|
|
|
virtual void PCG_WriteData(CFile& fw, short ver, BOOL bWriteAllLayerName, int nBaseTabNum);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void PCG2_WriteData(CFile& fw, short ver, BOOL bWriteAllLayerName, int nBaseTabNum);
|
|
|
|
|
|
|
|
|
|
|
|
void PCG_WriteViewState(CFile &fw, int view_state, short ver, int nBaseTabNum);
|
|
|
|
|
|
void PCG_Write(CProjection& pj, CFile& fw, short ver, int nBaseTabNum);
|
|
|
|
|
|
int PCG_Read(CProjection& pj, CFile& fr, short ver);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
virtual int PCG_ReadWellColumn(CFile& fr, short ver = -1); //ggff2025
|
|
|
|
|
|
virtual int PCG_WriteWellColumn(CFile& fw, short ver = -1);
|
|
|
|
|
|
virtual int PCG_ReadCrossSection(CFile& fr, short ver = -1);
|
|
|
|
|
|
virtual int PCG_WriteCrossSection(CFile& fr, short ver = -1);
|
|
|
|
|
|
protected:
|
|
|
|
|
|
int PCG_ReadSectionHead(CFile& fr, short ver=-1);
|
|
|
|
|
|
int PCG_ReadSectionSymbols(CFile& fr, short ver=-1, void * pXy=NULL);
|
|
|
|
|
|
int PCG_ReadSectionClasses(CFile& fr, short ver=-1);
|
|
|
|
|
|
int PCG_ReadSectionLayers(CFile& fr, short ver=-1);
|
|
|
|
|
|
int PCG_ReadSectionEmbellish(CFile& fr, short ver=-1);
|
|
|
|
|
|
int PCG_ReadSectionData(CFile& fr, short ver=-1);
|
|
|
|
|
|
int PCG_ReadSectionTail(CFile& fr, short ver=-1);
|
|
|
|
|
|
|
|
|
|
|
|
int PCG2_ReadSectionLayers(CFile& fr, short ver = -1);
|
|
|
|
|
|
int PCG2_ReadSectionData(CFile& fw, short ver = 2, void *pXy=NULL);
|
|
|
|
|
|
int PCG2_ReadElement(CFile& fr, short ver = 2);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/////////////////////˫<><CBAB><EFBFBD><EFBFBD>ʽ////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
public:
|
|
|
|
|
|
bool OpenFile(LPCTSTR lpszFileName, bool realTimeDraw);
|
|
|
|
|
|
virtual void DFB_Serialize(CArchive& ar, short ver, BOOL bWriteAllLayerName=TRUE);
|
|
|
|
|
|
virtual void DFB_WriteData(CArchive& ar, short ver);
|
|
|
|
|
|
|
|
|
|
|
|
int DFB_SerializeRead(CString strInput);
|
|
|
|
|
|
int DFB_SerializeWrite(CString strOutput, short ver, BOOL bWriteAllLayerName=TRUE);
|
|
|
|
|
|
/* @brief д˫<D0B4><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƹ<EFBFBD>ʽ */
|
|
|
|
|
|
int DFB_SerializeWrite(CArchive& ar, short ver, BOOL bWriteAllLayerName=TRUE);
|
|
|
|
|
|
|
|
|
|
|
|
int DFB_Read (CArchive& ar, NBase::CPositionList& select, short ver); //<2F><>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>select<63><74>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD>ڵ<EFBFBD>ǰ<EFBFBD>أ<EFBFBD><D8A3>е<EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
|
int DFB_Write(CArchive& ar, NBase::CPositionList& select, short ver);
|
|
|
|
|
|
|
|
|
|
|
|
int DFB_Read(CArchive& ar, int type, const short& ver);
|
|
|
|
|
|
void DFB_Write(CArchive& ar, int type, const short& ver);
|
|
|
|
|
|
|
|
|
|
|
|
uint64_t DFB_ReadHeader(CArchive& ar);
|
|
|
|
|
|
void DFB_WriteHeader(CArchive& ar, uint64_t header);
|
|
|
|
|
|
|
|
|
|
|
|
int16_t DFB_ReadVersion(CArchive& ar);
|
|
|
|
|
|
void DFB_WriteVersion(CArchive& ar, int16_t ver);
|
|
|
|
|
|
|
|
|
|
|
|
int DFD_WritePureData(CFile& fw, int selType);
|
|
|
|
|
|
|
|
|
|
|
|
void DFB_ReadEncrypt(CArchive& ar, short ver=-1);
|
|
|
|
|
|
void DFB_WriteEncrypt(CArchive& ar, short ver=-1);
|
|
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
virtual int KEV_Read(CString m_input, short ver = -1);
|
|
|
|
|
|
virtual int DFD_Read(CString m_input, short ver=-1);
|
|
|
|
|
|
virtual int DFD_Read(CFile &fr, short ver=-1);
|
|
|
|
|
|
virtual int DFD_Read2(CFile &fr, short ver=-1); //ת<><D7AA>ΪCStdioFile<6C><65><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ȡ,<2C>ٶȱ<D9B6>CFile<6C><65>Ҫ<EFBFBD><D2AA>
|
|
|
|
|
|
virtual int DFD_Write(CString m_output, short ver=-1, BOOL bWriteAllLayerName=TRUE);
|
|
|
|
|
|
virtual int DFD_Write(CFile& fw, short ver=-1, BOOL bWriteAllLayerName=TRUE);
|
|
|
|
|
|
virtual int DFD_Write2(CFile& fw, short ver=-1, BOOL bWriteAllLayerName=TRUE); //ת<><D7AA>ΪCStdioFile<6C><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д,<2C>ٶȱ<D9B6>CFile<6C><65>Ҫ<EFBFBD><D2AA>
|
|
|
|
|
|
virtual void DFD_WriteData(CFile& fw, short ver, BOOL bWriteAllLayerName);
|
|
|
|
|
|
void DFD_WriteViewState(CFile &fw, int view_state, short ver=-1);
|
|
|
|
|
|
|
|
|
|
|
|
int DFD_Read (CFile &fr, NBase::CPositionList& select, short ver = -1); // <20><>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>select<63><74>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD>ڵ<EFBFBD>ǰ<EFBFBD>أ<EFBFBD><D8A3>е<EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
|
int DFD_Write(CFile& fw, NBase::CPositionList& select);
|
|
|
|
|
|
void DFD_Write(CFile& fw, POSITION pos, const short &ver, BOOL bWriteColor=TRUE);
|
|
|
|
|
|
void DFD_WriteLegend(CFile& fw, short ver, double cc=1.0);
|
|
|
|
|
|
void DFD_WriteMark(CFile& fw, short ver, double cc = 1.0);
|
|
|
|
|
|
int DFD_WriteViewData(CFile& fw, short ver);
|
|
|
|
|
|
|
|
|
|
|
|
//type= PLINE_CLOSE <20><><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD>,
|
|
|
|
|
|
// PLINE_SOLID <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int DFD_WriteSelectPline(CFile& fw, short ver, int type, BOOL bIncludeEmbellish);
|
|
|
|
|
|
|
|
|
|
|
|
//outType=0Ϊ<30><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ΪDOUBLEFOX_CURVE<56><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ΪDOUBLEFOX_POINT<4E><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int DFD_WriteXYZ(CFile& fw, int outType=0, char split=',', int nOutMode=0);
|
|
|
|
|
|
int DFD_WriteSelectData(CFile& fw, int selType, short ver=-1);
|
|
|
|
|
|
int DFD_WritePurePline(CFile& fw, short ver=-1);
|
|
|
|
|
|
int DFD_WritePlineSmooth(CFile& fw, NBase::CPositionList& select, double step, int bIsBezier); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>ΪB<CEAA><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD>S<EFBFBD><53><EFBFBD><EFBFBD>
|
|
|
|
|
|
void DFD_WriteVersion(CFile& fw, const short& ver); //д<><D0B4>ǰ<EFBFBD>汾<EFBFBD><E6B1BE>
|
|
|
|
|
|
void DFD_WriteProjection(CFile& fw); //дͶӰ<CDB6><D3B0>Ϣ
|
|
|
|
|
|
void DFD_WriteUnit(CFile& fw);
|
|
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
int ReadCurveBinary(CString strBinaryName, double dRedundantError=-1); //<2F><>ȡCCurveBinary<72>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ǰXY<58><59>
|
|
|
|
|
|
|
|
|
|
|
|
// int WritePointToDB(CDatabase& db, CString strTableName, CString date);
|
|
|
|
|
|
// int WritePlineToDB(CDatabase& db, CString strTableName, CString date, BOOL IsNodeRecord /*=TRUE*/);
|
|
|
|
|
|
|
|
|
|
|
|
int Convert2Visibility(int viewStatus);
|
|
|
|
|
|
CString Convert2TypeName(int elementType);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
CFileEncrypt* GetFileEncrypt(void);
|
|
|
|
|
|
BOOL IsEncrypted(void);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void Draw(CXyDC& dc, POSITION p);
|
|
|
|
|
|
virtual void Draw(CXyDC& dc, bool bSetProgressPos=false);
|
|
|
|
|
|
virtual void DrawLayerSort(CXyDC& dc, bool bSetProgressPos=false);
|
|
|
|
|
|
void Draw(CXyDC& dc, NBase::CPositionList& select);
|
|
|
|
|
|
|
|
|
|
|
|
virtual POSITION AddElement(void *pElement,int m_type);
|
|
|
|
|
|
virtual POSITION IsInRange(NBase::CRect8& range);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void operator=(CXy& xy);
|
|
|
|
|
|
|
|
|
|
|
|
COne* CreateOne(void* pElement, int type);
|
|
|
|
|
|
void GetOneParameter(COne* pOne);
|
|
|
|
|
|
|
|
|
|
|
|
NBase::CRect8 GetRange(void);
|
|
|
|
|
|
NBase::CRect8 GetRange(NBase::CPositionList& select);
|
|
|
|
|
|
NBase::CRect8 GetDisplayRange(void); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>Χ
|
|
|
|
|
|
void GetRange(NBase::CPoint3D& minPoint, NBase::CPoint3D& maxPoint);
|
|
|
|
|
|
void GetRange(NBase::CRect8& rect, BOOL bIncludeNoView=TRUE);
|
|
|
|
|
|
int IsInRange(NBase::CRect8& range, NBase::CPositionList &select, BOOL bIsOnlyEnable=TRUE);
|
|
|
|
|
|
int IsInRange(NBase::CRect8& range, NBase::CPositionList &select, int nElementType, BOOL bIsOnlyEnable);
|
|
|
|
|
|
|
|
|
|
|
|
BOOL IsDrawContinue(void);
|
|
|
|
|
|
void SetDrawContinue(BOOL bDraw);
|
|
|
|
|
|
|
|
|
|
|
|
CPtrList* GetValueList(void);
|
|
|
|
|
|
int GetCount(void);
|
|
|
|
|
|
// <20><><EFBFBD>㷶Χ<E3B7B6>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
double GetSurfaceAngle(CCurveEx& curve);
|
|
|
|
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void InitLayerClass(void);
|
|
|
|
|
|
|
|
|
|
|
|
CClassList* GetClassList(void);
|
|
|
|
|
|
int GetLayerCount(void);
|
|
|
|
|
|
|
|
|
|
|
|
int SetLayerState(CString sLayer, int state, BOOL bIncludeSubLayer=FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
CLayerList* GetClass(POSITION pos);
|
|
|
|
|
|
CLayerList* GetClass(CString strClassName);
|
|
|
|
|
|
|
|
|
|
|
|
CLayerList* AddClass(CString strClassName);
|
|
|
|
|
|
virtual CLayer* FindAddLayer(CString name, bool* pbCreateNew = NULL); //<2F>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>иò<D0B8>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F2B7B5BB><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
|
virtual CLayer* AddLayer(CLayer* pl);
|
|
|
|
|
|
|
|
|
|
|
|
POSITION FindClass(CString strClassName);
|
|
|
|
|
|
CLayer* FindLayer(CString name, BOOL bWithSubLayer = FALSE);
|
|
|
|
|
|
void FindLayers(CString name, CPtrList& layers, BOOL bWithSubLayer = FALSE);
|
|
|
|
|
|
CLayer* GetAtLayer(POSITION pos);
|
|
|
|
|
|
CLayer* GetCurrentLayer(void);
|
|
|
|
|
|
|
|
|
|
|
|
void SetCurrentLayer(CString sLayer);
|
|
|
|
|
|
void SetCurrentLayer(CLayer* pLayer);
|
|
|
|
|
|
|
|
|
|
|
|
int GetLayerUsing(CStringList& arrValue); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
*
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>㣨<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò㣩<EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD>λָ<EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param LayerList <EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param strLayerName ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD> CLass Name û<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD>ʱ bWithSubLayer <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param bWithSubLayer <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param bRemoveAtNoClear <EFBFBD>Ƿ<EFBFBD>Ҫ<EFBFBD>ѻ<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ClassList <EFBFBD><EFBFBD><EFBFBD>Ƴ<EFBFBD><EFBFBD><EFBFBD>ȥ
|
|
|
|
|
|
* \return
|
|
|
|
|
|
*/
|
|
|
|
|
|
int GetLayer(CPtrList& LayerList, CString strLayerName, BOOL bWithSubLayer=TRUE, BOOL bRemoveAtNoClear=FALSE);
|
|
|
|
|
|
|
|
|
|
|
|
int ReplaceLayer(CString strOld, CString strNew, BOOL bWord, BOOL bCase);
|
|
|
|
|
|
void RemoveLayer(CString strLayerName, BOOL bWithSubLayer=TRUE, BOOL bRemoveData=TRUE);
|
|
|
|
|
|
//<2F><>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD>λ˳<CEBB><CBB3><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>
|
|
|
|
|
|
int MoveLayerInSameClassSeries(CString strSourceLayer, BOOL bWithPosition=FALSE, POSITION posInsert=NULL, int nMode=0); //Before:nMode==0,After:nMode=1
|
|
|
|
|
|
//<2F><>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>
|
|
|
|
|
|
int MoveLayer(CString strSourceLayer, CString strParentDestLayer, BOOL bWithPosition=FALSE, POSITION posInsert=NULL, int nMode=0);//Before:nMode==0,After:nMode=1
|
|
|
|
|
|
int MoveClassLayer(CString strSourceClass, CString strParentDestLayer, BOOL bWithPosition=FALSE, POSITION posInsert=NULL, int nMode=0);//Before:nMode==0,After:nMode=1
|
|
|
|
|
|
int MoveLayerToClass(CString strSourceLayer, CString strDestClass, BOOL bWithPosition=FALSE, POSITION posInsert=NULL, int nMode=0);//Before:nMode==0,After:nMode=1
|
|
|
|
|
|
protected:
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD> listTemp ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뵽plcd<EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param listTemp Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CLayer ָ<EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param plcd ͼ<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|
|
|
|
|
* \param bWithPosition <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>뵽ָ<EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ false<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뵽 plcd <EFBFBD><EFBFBD>ĩβ
|
|
|
|
|
|
* \param posInsert Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param nMode 0 <EFBFBD><EFBFBD><EFBFBD>뵽 posInsert ǰ<EFBFBD>棬1 <EFBFBD><EFBFBD><EFBFBD>뵽 posInsert <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
*/
|
|
|
|
|
|
void MoveLayer(CPtrList& listTemp, CLayerList* plcd, BOOL bWithPosition, POSITION posInsert, int nMode);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
int ReplaceElementLayer(CLayer* pOldLayer, CLayer* pNewLayer);
|
|
|
|
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
POSITION InsertElementBefore(POSITION pos, COne* pNewOne);
|
|
|
|
|
|
POSITION InsertElementBefore(POSITION pos, void* pElement, int nType);
|
|
|
|
|
|
POSITION InsertElementAfter(POSITION pos, COne* pNewOne);
|
|
|
|
|
|
POSITION InsertElementAfter(POSITION pos, void* pElement, int nType);
|
|
|
|
|
|
|
|
|
|
|
|
POSITION AddTailOne(COne* pOne);
|
|
|
|
|
|
POSITION AddHeadOne(COne* pOne);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>뵽posInsertAfterָ<72><D6B8><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>֮<EFBFBD><D6AE>,ΪNULLʱ<4C><CAB1>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int MoveIn(CXy* pxy,
|
|
|
|
|
|
NBase::CPositionList& elemList,
|
|
|
|
|
|
POSITION posInsertAfter=NULL,
|
|
|
|
|
|
CPtrList* pAddedMarkList=NULL,
|
|
|
|
|
|
CPtrList* pAddedLayerList=NULL,
|
|
|
|
|
|
bool bRepositionMark = true,
|
|
|
|
|
|
bool bReplaceExistLayer = false, //<2F><>pxy<78>еĶ<D0B5><C4B6><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>
|
|
|
|
|
|
bool removeFromSource = true); // <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int MoveInBottom(CXy* pxy,
|
|
|
|
|
|
NBase::CPositionList& elemList,
|
|
|
|
|
|
CPtrList* pAddedMarkList = NULL,
|
|
|
|
|
|
CPtrList* pAddedLayerList = NULL,
|
|
|
|
|
|
bool bRepositionMark = true,
|
|
|
|
|
|
bool bReplaceExistLayer = false); //<2F><>pxy<78>еĶ<D0B5><C4B6><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>
|
|
|
|
|
|
int MoveInBefore(CXy* pxy, NBase::CPositionList& elemList, const CString& destLayerName,
|
|
|
|
|
|
CPtrList* pAddedMarkList = NULL,
|
|
|
|
|
|
CPtrList* pAddedLayerList = NULL,
|
|
|
|
|
|
bool bRepositionMark = true,
|
|
|
|
|
|
bool bReplaceExistLayer = false);
|
|
|
|
|
|
int MoveInBefore(CXy* pxy, NBase::CPositionList& elemList, POSITION pos,
|
|
|
|
|
|
CPtrList* pAddedMarkList = NULL,
|
|
|
|
|
|
CPtrList* pAddedLayerList = NULL,
|
|
|
|
|
|
bool bRepositionMark = true,
|
|
|
|
|
|
bool bReplaceExistLayer = false);
|
|
|
|
|
|
int MoveInAfter(CXy* pxy, NBase::CPositionList& elemList, const CString& destLayerName,
|
|
|
|
|
|
CPtrList* pAddedMarkList = NULL,
|
|
|
|
|
|
CPtrList* pAddedLayerList = NULL,
|
|
|
|
|
|
bool bRepositionMark = true,
|
|
|
|
|
|
bool bReplaceExistLayer = false);
|
|
|
|
|
|
|
|
|
|
|
|
POSITION MoveToFront(POSITION pos); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
|
POSITION MoveToBack(POSITION pos); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
|
POSITION MoveForward(POSITION pos); //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
|
|
|
|
|
POSITION MoveBackward(POSITION pos); //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
|
|
|
|
|
|
|
|
|
|
|
void ChangeToProjection(CString strProjection); //<2F><><EFBFBD>ݵ<EFBFBD>ǰͶӰת<D3B0><D7AA><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>ͶӰ
|
|
|
|
|
|
void SetProjection(CString strProjection); //<2F><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0>ͶӰ<CDB6><D3B0>ʽ
|
|
|
|
|
|
CString GetProjection(void);
|
|
|
|
|
|
|
|
|
|
|
|
void SetUnit(int unitx, int unity);
|
|
|
|
|
|
void SetUnit(CSize unit);
|
|
|
|
|
|
CSize GetUnit(void);
|
|
|
|
|
|
|
|
|
|
|
|
void SetElementColor(POSITION pos, COLORREF newColor);
|
|
|
|
|
|
|
|
|
|
|
|
long GetElementIndex(POSITION pos);
|
|
|
|
|
|
void GetElementIndexs(const std::vector<POSITION> positions, std::vector<long> &indexs) const;
|
|
|
|
|
|
POSITION FindIndex(long index);
|
|
|
|
|
|
|
|
|
|
|
|
int GetElementType(POSITION pos);
|
|
|
|
|
|
CLayer* GetElementLayer(POSITION pos);
|
|
|
|
|
|
BOOL SetElementLayer(POSITION pos, CLayer *pl);
|
|
|
|
|
|
BOOL SetElementLayer(POSITION pos, CString sLayer);
|
|
|
|
|
|
int SetElementState(POSITION pos, int nState); //<2F><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>ʾ״̬
|
|
|
|
|
|
|
|
|
|
|
|
void RemoveAt(COne* pOne);
|
|
|
|
|
|
void RemoveAt(POSITION pos);
|
|
|
|
|
|
COne* RemoveAtNoClear(POSITION pos);
|
|
|
|
|
|
BOOL RemoveAtNoClear(COne* pOne);
|
|
|
|
|
|
COne* SetAt(POSITION pos, COne* pOne);//<2F><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>
|
|
|
|
|
|
COne* GetAt(POSITION pos) const;
|
|
|
|
|
|
void* GetAtValue(POSITION pos);
|
|
|
|
|
|
void RemoveAllLegend(void);
|
|
|
|
|
|
void RemoveAllLayer(void);
|
|
|
|
|
|
void RemoveAllData(void);
|
|
|
|
|
|
void RemoveAllPrintTemplate(void);
|
|
|
|
|
|
|
|
|
|
|
|
int ClearNoUseMark(CPtrList* ptrNoUseMark = NULL); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>õķ<C3B5><C4B7>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD>ptrNoUseMark<72><6B>
|
|
|
|
|
|
int ClearLayerNoneData(CPtrList* pNoneDataLayerList = NULL); //ɾ<><C9BE>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>
|
|
|
|
|
|
int AddMark(CXy* pxy, BOOL bDeleteOld=TRUE);
|
|
|
|
|
|
void RemoveMark(CString key);
|
|
|
|
|
|
void* RemoveMarkNoClear(CString key);
|
|
|
|
|
|
CMapStringToPtrNoCase* GetMark(void);
|
|
|
|
|
|
void* FindMark(CString key);
|
|
|
|
|
|
|
|
|
|
|
|
POSITION FindElement(CString name); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>Ԫ<EFBFBD><D4AA>
|
|
|
|
|
|
|
|
|
|
|
|
//bReplace=0 ʱ<><CAB1>ʾ<EFBFBD><CABE><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD>ն<EFBFBD><D5B6><EFBFBD><EFBFBD>¶<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
|
//bReplace=1 ʱ<><CAB1>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ָ<EFBFBD>벻Ϊ<EBB2BB>ղŸ<D5B2><C5B8>ݷ<EFBFBD><DDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
|
//bReplace=2 ʱ<><CAB1>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ָ<EFBFBD>벻Ϊ<EBB2BB><CEAA>ʱ<EFBFBD><CAB1><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>趨<EFBFBD><E8B6A8><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int PositionNew(int bReplace=1);
|
|
|
|
|
|
void GetNewUsing(CStringList& arrValue); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>õķ<C3B5><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
BOOL SetSectionColor(long bkColor, long frSolidColor, long frLineColor);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD>ȡ {slayer} ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪ POSITION
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param slayer ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param select <EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD>ͼԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD> GetAt <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD> COne *
|
|
|
|
|
|
* \param bWithSubLayer <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD>
|
|
|
|
|
|
* \param bIncludeNoEdit
|
|
|
|
|
|
* \return
|
|
|
|
|
|
*/
|
|
|
|
|
|
int GetElement(CString slayer, NBase::CPositionList& select, BOOL bWithSubLayer=FALSE, BOOL bIncludeNoEdit=TRUE);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ {nElementType} <EFBFBD><EFBFBD>ͼԪλ<EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param nElementType ͼԪ<EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD> COne <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param select <EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD>ͼԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD> GetAt <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD> COne *
|
|
|
|
|
|
* \param bWithSubLayer <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD>
|
|
|
|
|
|
* \return
|
|
|
|
|
|
*/
|
|
|
|
|
|
int GetElement(int nElementType, NBase::CPositionList& select, BOOL bIncludeNoEdit=FALSE);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD>ȡ {pLayer} ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ {nElementType} <EFBFBD><EFBFBD>ͼԪλ<EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param pLayer ͼ<EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param select <EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD>ͼԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD> GetAt <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD> COne *
|
|
|
|
|
|
* \param nElementType ͼԪ<EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD> COne <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>Ϊ 0 ʱ<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param bWithSubLayer <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD>
|
|
|
|
|
|
* \return
|
|
|
|
|
|
*/
|
|
|
|
|
|
int GetElement(CLayer* pLayer, NBase::CPositionList& select, int nElementType=0, BOOL bWithSubLayer=FALSE);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Կ<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param filter <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>filter<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD>ֵ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|
|
|
|
|
* \param select <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪ<EFBFBD>б<EFBFBD>
|
|
|
|
|
|
* \return
|
|
|
|
|
|
*/
|
|
|
|
|
|
int GetElement(const CXyElementFilter &filter, NBase::CPositionList &select) const;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD>ǣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><EFBFBD>Ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪ<EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> source <EFBFBD><EFBFBD>ɸѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪ
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param filter <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param select <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪ<EFBFBD>б<EFBFBD>
|
|
|
|
|
|
* \return
|
|
|
|
|
|
*/
|
|
|
|
|
|
int GetElement(const NBase::CPositionList &source, const CXyElementFilter &filter, NBase::CPositionList &select) const;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>֧<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>óɱ<EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>Եͣ<EFBFBD><EFBFBD>ʺ<EFBFBD><EFBFBD><EFBFBD>һЩ<EFBFBD><EFBFBD><EFBFBD>ⳡ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param filter <EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param select <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪ<EFBFBD>б<EFBFBD>
|
|
|
|
|
|
* \return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
*/
|
|
|
|
|
|
int GetElement(std::shared_ptr<ElementFilter> filter, NBase::CPositionList &select) const;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> id <EFBFBD><EFBFBD>ȡ POSITION
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param id ͼԪ id
|
|
|
|
|
|
* \return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> POSITION<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> nullptr
|
|
|
|
|
|
*/
|
|
|
|
|
|
POSITION GetPositionById(int64_t id) const;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* ͨ<EFBFBD><EFBFBD> id <EFBFBD><EFBFBD>ȡͼԪ
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param id
|
|
|
|
|
|
* \return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӦͼԪָ<EFBFBD>룬<EFBFBD><EFBFBD><EFBFBD><EFBFBD> nullptr
|
|
|
|
|
|
*/
|
|
|
|
|
|
COne* GetOneById(int64_t id) const;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD>ж<EFBFBD> COne <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɸѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param pOne
|
|
|
|
|
|
* \param filter
|
|
|
|
|
|
* \return
|
|
|
|
|
|
*/
|
|
|
|
|
|
bool MatchFilter(COne* pOne, const CXyElementFilter& filter) const;
|
|
|
|
|
|
|
|
|
|
|
|
CHowToViewCurve* GetCurHowToViewCurve(void);
|
|
|
|
|
|
CHowToViewPoint* GetCurHowToViewPoint(void);
|
|
|
|
|
|
void SetCurHowToViewCurve(CHowToViewCurve* pHTVC);
|
|
|
|
|
|
void SetCurHowToViewPoint(CHowToViewPoint* pHTVP);
|
|
|
|
|
|
CHowToViewCurve* GetDeriveHowToViewCurve(CString sPathName);
|
|
|
|
|
|
CHowToViewPoint* GetDeriveHowToViewPoint(CString sPathName);
|
|
|
|
|
|
|
|
|
|
|
|
BOOL IsDeriveLegend(void);
|
|
|
|
|
|
void EnableDeriveLegend(BOOL bDerive);
|
|
|
|
|
|
BOOL IsLayerSort(void);
|
|
|
|
|
|
void EnableLayerSort(BOOL bEnable);
|
|
|
|
|
|
|
|
|
|
|
|
CHyperlink* GetHyperlink(POSITION pos);
|
|
|
|
|
|
POSITION Find(COne* pOne, POSITION startAfter=NULL);
|
|
|
|
|
|
COne* FindCurve(CString name);
|
|
|
|
|
|
COne* FindPoint(CString name);
|
|
|
|
|
|
POSITION FindFirstElement(int nType);
|
|
|
|
|
|
|
|
|
|
|
|
void DisplayReversal(void);
|
|
|
|
|
|
int DisplayAll(BOOL bIsView=TRUE, int nTypeSelect=0);
|
|
|
|
|
|
|
|
|
|
|
|
void SetRedundantError(double error);
|
|
|
|
|
|
double GetRedundantError(void);
|
|
|
|
|
|
|
|
|
|
|
|
void Rotate(double xs, double ys, double angle);
|
|
|
|
|
|
void ScaleProperty(double sx, double sy, BOOL bPersonalEmbellish, BOOL bOwnerProperties, BOOL bJudgeEditSatte=TRUE);
|
|
|
|
|
|
void ScaleCoor(double xs,double ys,double dx,double dy);
|
|
|
|
|
|
void Offset(double dx, double dy);
|
|
|
|
|
|
void ScaleCoordinate(double sx, double sy, int mode=0); //mode=0:<3A>ӣ<EFBFBD>1:<3A><><EFBFBD><EFBFBD>2:<3A>ˣ<EFBFBD>3:<3A><>
|
|
|
|
|
|
// typeΪУ<CEAA><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Уλ<D0A3><CEBB><EFBFBD>ĵ<EFBFBD>Уλ<D0A3><CEBB>;valueΪ<65><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>룬<EFBFBD><EBA3AC>CCalibrate2<65><32>CCalibrate4<65><34>
|
|
|
|
|
|
void Calibrate(int type, void* pValue);
|
|
|
|
|
|
|
|
|
|
|
|
int Replace(COLORREF cOldColor, COLORREF cNewColor, BOOL bOwnerProperties, BOOL bLayerEmbellish);
|
|
|
|
|
|
int SetColor(COLORREF cNewColor, BOOL bOwnerProperties, BOOL bLayerEmbellish); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD>ɫ
|
|
|
|
|
|
|
|
|
|
|
|
static int RedundantCurve(LPCTSTR lpszInputFileName, LPCTSTR lpszOutputFileName, double dError);
|
|
|
|
|
|
|
|
|
|
|
|
void* FindStation(LPCTSTR lpStrLineName); //<2F><><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>ߵ<EFBFBD>CStation<6F><6E><EFBFBD><EFBFBD>
|
|
|
|
|
|
CProgressCtrl* GetProgress(void);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F>ٶȱ༭<C8B1><E0BCAD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD>
|
|
|
|
|
|
int ReadTV(CString m_input);
|
|
|
|
|
|
void SetVelocityMode(int xMode, int yMode);
|
|
|
|
|
|
DWORD GetVelocityStyle(void);
|
|
|
|
|
|
void SetVelocityStyle(DWORD dwStyle);
|
|
|
|
|
|
|
|
|
|
|
|
int m_xMode;
|
|
|
|
|
|
int m_yMode;
|
|
|
|
|
|
void ExchangeXY(void);
|
|
|
|
|
|
|
|
|
|
|
|
static void RemoveAllXy(CMapStringToPtrNoCase& map);
|
|
|
|
|
|
int MetaToImage(CMetaFile* pMeta, CImageInsert& image);
|
|
|
|
|
|
|
|
|
|
|
|
CString m_FileName;
|
|
|
|
|
|
////////////<2F><><EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD>WM_COPYDATA<54><41>Ϣʱ<CFA2><CAB1><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ȡģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> pCopyDataStruct->dwData/////////////////
|
|
|
|
|
|
////<2F>½<EFBFBD><C2BD>ļ<EFBFBD>
|
|
|
|
|
|
// 0://DML
|
|
|
|
|
|
// 1://DFD
|
|
|
|
|
|
// 2://DFB
|
|
|
|
|
|
////<2F>ϲ<EFBFBD><CFB2>ļ<EFBFBD>
|
|
|
|
|
|
// 10://DML
|
|
|
|
|
|
// 11://DFD
|
|
|
|
|
|
// 12://DFB
|
|
|
|
|
|
////<2F>ϲ<EFBFBD><CFB2>ļ<EFBFBD><C4BC><EFBFBD>ͳһͶӰ
|
|
|
|
|
|
// 20://DML
|
|
|
|
|
|
// 21://DFD
|
|
|
|
|
|
// 22://DFB
|
|
|
|
|
|
|
|
|
|
|
|
//hReceiveWndΪ<64><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>Ĵ<EFBFBD><C4B4>ڣ<EFBFBD>wParam<61><6D><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>Ĵ<EFBFBD><C4B4>ھ<EFBFBD><DABE><EFBFBD><EFBFBD><EFBFBD>createModeΪ<65>ļ<EFBFBD><C4BC><EFBFBD>ȡģʽ
|
|
|
|
|
|
BOOL SendMessage_CopyData(HWND hReceiveWnd, WPARAM wParam=0, int createMode=2);
|
|
|
|
|
|
BOOL ReceiveMessage_CopyData(COPYDATASTRUCT* pCopyDataStruct);
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
std::unique_ptr<VtkSceneParameterSettings> vtkSceneParameterSettings;
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
void DFB_SerializeCOnes(CArchive& ar, const short& ver);
|
|
|
|
|
|
void AssignLayerToCOne(COne* pOne, std::unordered_map<CString, CLayer*, CStringHash>& layerCache);
|
|
|
|
|
|
POSITION EnsureUniqueIdWithPosition(POSITION pos, COne* pOne);
|
|
|
|
|
|
|
|
|
|
|
|
void DFD_ReadVtkSceneParameterSettings(CFile& fw, VtkSceneParameterSettings& settings);
|
|
|
|
|
|
|
|
|
|
|
|
void DFD_WriteVtkSceneParameterSettings(CFile& fr, const VtkSceneParameterSettings& settings);
|
|
|
|
|
|
|
|
|
|
|
|
void DFD_WriteKeyValue(CFile& fw, const char* key, bool value);
|
|
|
|
|
|
void DFD_WriteKeyValue(CFile& fw, const char* key, int value);
|
|
|
|
|
|
void DFD_WriteKeyValue(CFile& fw, const char* key, uint32_t value);
|
|
|
|
|
|
void DFD_WriteKeyValue(CFile& fw, const char* key, int64_t value);
|
|
|
|
|
|
void DFD_WriteKeyValue(CFile& fw, const char* key, double value);
|
|
|
|
|
|
void DFD_WriteKeyValue(CFile& fw, const char* key, const CString& value);
|
|
|
|
|
|
|
|
|
|
|
|
std::unordered_map<int64_t, POSITION> m_idMap;
|
|
|
|
|
|
|
|
|
|
|
|
std::vector<COne*> m_LatestReadingOnes; //ggff<66><66>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>´<EFBFBD>pcg<63>ļ<EFBFBD><C4BC>еľ<D0B5><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
public:
|
|
|
|
|
|
enum XYTYPE
|
|
|
|
|
|
{ //ggff2025
|
|
|
|
|
|
plane,
|
|
|
|
|
|
wellPole,
|
|
|
|
|
|
wellSection
|
|
|
|
|
|
};
|
|
|
|
|
|
XYTYPE GetXyType() { return m_XyType; }
|
|
|
|
|
|
void SetXyType(XYTYPE type) { m_XyType = type; }
|
|
|
|
|
|
protected:
|
|
|
|
|
|
XYTYPE m_XyType;
|
|
|
|
|
|
public:
|
|
|
|
|
|
virtual int PCG_ReadData(CKXmlParse& xp, short ver = -1, void * pXy = NULL);
|
|
|
|
|
|
int PCG_Read3(CString strFilePath,short ver = -1); // (CFile& fr, short ver = -1);
|
|
|
|
|
|
virtual int PCG_ReadWellColumn(CKXmlParse& xp, short ver = -1); //ggff2025
|
|
|
|
|
|
virtual int PCG_ReadCrossSection(CKXmlParse& xp, short ver = -1);
|
|
|
|
|
|
int PCG_ReadSectionHead(CKXmlParse& xp, short ver = -1);
|
|
|
|
|
|
int PCG_ReadSectionSymbols(CKXmlParse& xp, short ver/*=-1*/, void * pXy);
|
|
|
|
|
|
int PCG_ReadSectionClasses(CKXmlParse& xp, short ver/*=-1*/);
|
|
|
|
|
|
int PCG2_ReadSectionLayers(CKXmlParse& xp, short ver/*=-1*/);
|
|
|
|
|
|
int PCG_ReadSectionLayers(CKXmlParse& xp, short ver/*=-1*/);
|
|
|
|
|
|
int PCG_ReadSectionEmbellish(CKXmlParse& xp, short ver/*=-1*/);
|
|
|
|
|
|
int PCG2_ReadSectionData(CKXmlParse& xp, short ver, void *pXy);
|
|
|
|
|
|
int PCG_ReadSectionData(CKXmlParse& xp, short ver/*=-1*/);
|
|
|
|
|
|
int PCG_Read(CProjection& pj, CKXmlParse& xp , short ver);
|
|
|
|
|
|
int PCG_ReadSectionTail(CKXmlParse& xp, short ver = -1);
|
|
|
|
|
|
protected:
|
|
|
|
|
|
int PCG3_Read(CKXmlParse& xp, short ver = -1);
|
|
|
|
|
|
int PCG3_ReadKevWellData(CFile& fr, int ver);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
AFX_INLINE CPtrList* CXy::GetValueList(void)
|
|
|
|
|
|
{
|
|
|
|
|
|
return &value;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
AFX_INLINE CClassList* CXy::GetClassList(void)
|
|
|
|
|
|
{
|
|
|
|
|
|
return &m_ClassList;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
typedef void (* PFUN_NEW_OLE)(COleItem** pItem, COleObject **pObject);
|
|
|
|
|
|
|
|
|
|
|
|
extern "C" AFX_EXT_API PFUN_NEW_OLE * WINAPI AfxGetPFUN_NEW_OLE();
|