|
|
|
|
|
//////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//FaciesObject.h
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "CommonDefines.h"
|
|
|
|
|
|
|
|
|
|
|
|
class FACIESPOINT;
|
|
|
|
|
|
class CGDFLayer;
|
|
|
|
|
|
class CGDFSegment;
|
|
|
|
|
|
class CPointSegmentArray;
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>Ԫ<EFBFBD><D4AA>,<2C>ǵ㡢<C7B5>ߡ<EFBFBD><DFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>Ļ<EFBFBD><C4BB><EFBFBD>
|
|
|
|
|
|
class CGDFObject : public CObject
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
DECLARE_SERIAL(CGDFObject)
|
|
|
|
|
|
CGDFObject(CGDFLayer* pLayer=NULL);
|
|
|
|
|
|
virtual ~CGDFObject();
|
|
|
|
|
|
//Attributes
|
|
|
|
|
|
public:
|
|
|
|
|
|
//enum EDITMODE
|
|
|
|
|
|
//{
|
|
|
|
|
|
// modeNone,
|
|
|
|
|
|
// modeCreate,
|
|
|
|
|
|
// modeEdit,
|
|
|
|
|
|
// modeMove,
|
|
|
|
|
|
// modeHeadAdd,
|
|
|
|
|
|
// modeEndAdd,
|
|
|
|
|
|
// modeResize,
|
|
|
|
|
|
// modeMovePoint,
|
|
|
|
|
|
// modeInsertPoint,
|
|
|
|
|
|
// modeChangeRound,
|
|
|
|
|
|
// modeChangeTopInterface,
|
|
|
|
|
|
// modeChangeBottomInterface,
|
|
|
|
|
|
// modeNewStratum,
|
|
|
|
|
|
// modeNewSedimentUnit
|
|
|
|
|
|
//};
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
|
|
|
|
CObject* m_pManagerCell;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
|
|
|
|
|
|
|
CGDFLayer* m_pLayer;
|
|
|
|
|
|
double m_dZoomFactor;
|
|
|
|
|
|
BOOL m_bModifyFlag;
|
|
|
|
|
|
CString m_strName;
|
|
|
|
|
|
CString m_strTypeName;
|
|
|
|
|
|
|
|
|
|
|
|
CObject* m_pManagerObject;
|
|
|
|
|
|
|
|
|
|
|
|
//EDITMODE m_editmode;
|
|
|
|
|
|
|
|
|
|
|
|
CTypedPtrArray<CPtrArray,CGDFSegment*> m_segmentarray;
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int m_iNodePointCount;
|
|
|
|
|
|
int m_iNodeDrawPointCount;
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>귶Χ
|
|
|
|
|
|
CRect m_drawrect;
|
|
|
|
|
|
CRect8 m_maprect;
|
|
|
|
|
|
|
|
|
|
|
|
CPoint m_firstpoint;
|
|
|
|
|
|
CPoint m_oldpoint;
|
|
|
|
|
|
|
|
|
|
|
|
//CYAPropertyManager m_PropertyManager;
|
|
|
|
|
|
|
|
|
|
|
|
CString m_strClassName;
|
|
|
|
|
|
|
|
|
|
|
|
BOOL m_bVisible;
|
|
|
|
|
|
|
|
|
|
|
|
ULONGLONG m_ullTimeStamp;
|
|
|
|
|
|
|
|
|
|
|
|
BOOL m_bReceiveChangeMessage;//Ϊ<>˱<EFBFBD><CBB1><EFBFBD><EFBFBD>Ӱ<E0BBA5><D3B0><EFBFBD>Ŀ<EFBFBD><C4BF>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѭ<EFBFBD><D1AD>
|
|
|
|
|
|
//Operations
|
|
|
|
|
|
public:
|
|
|
|
|
|
void AddSegment(CGDFSegment* pSegment);
|
|
|
|
|
|
//<2F><EFBFBD><DFBC><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>Ļ<EFBFBD><C4BB><EFBFBD>
|
|
|
|
|
|
virtual void BuildControlNodePointArray();
|
|
|
|
|
|
virtual void Clear();
|
|
|
|
|
|
void ClearPoint();
|
|
|
|
|
|
virtual void DuplicateObject(CGDFObject** ppObject,CGDFLayer* pLayer);//<2F><><EFBFBD>ƵĶ<C6B5><C4B6><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>ͬһ<CDAC><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void DuplicateObject(CGDFObject* pObject);
|
|
|
|
|
|
void DeleteAllSegment();
|
|
|
|
|
|
virtual void DuplicateAttribute(CGDFObject* pObject);
|
|
|
|
|
|
CString GetClassNameG();
|
|
|
|
|
|
virtual int GetControlNodePointCount();//<2F><><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>Ƶ<EFBFBD><C6B5><EFBFBD>
|
|
|
|
|
|
virtual int GetControlNodeDrawPointCount();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>༭<EFBFBD>Ŀ<EFBFBD><C4BF>Ƶ<EFBFBD><C6B5><EFBFBD>,<2C><><EFBFBD>ܶ<EFBFBD><DCB6><EFBFBD>ʵ<EFBFBD>ʵĿ<CAB5><C4BF>Ƶ<EFBFBD><C6B5><EFBFBD>
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>Ŀ<EFBFBD><C4BF>Ƶ㱣<C6B5><E3B1A3><EFBFBD><EFBFBD>m_nodedrawpointarray<61><79>,<2C><><EFBFBD><EFBFBD><EFBFBD>еĸ<D0B5><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GetControlNodeDrawPointCount()<29>ķ<EFBFBD><C4B7><EFBFBD>ֵ,
|
|
|
|
|
|
//ֻ<><D6BB>CObjectPolyline<6E><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>m_borderpointdrawarray<61><79>,<2C><><EFBFBD><EFBFBD><EFBFBD>еĸ<D0B5><C4B8><EFBFBD><EFBFBD><EFBFBD>GetControlNodeDrawPointCount()*3
|
|
|
|
|
|
virtual POINT* GetControlNodeDrawPointArray();
|
|
|
|
|
|
void GetControlNodePointArray(CArray<FACIESPOINT,FACIESPOINT>& pointarray);
|
|
|
|
|
|
virtual CPoint2D* GetControlNodeMapPointArray();
|
|
|
|
|
|
virtual CRect GetDrawRect();
|
|
|
|
|
|
CGDFLayer* GetLayer();
|
|
|
|
|
|
virtual void SetLayer(CGDFLayer* pLayer);
|
|
|
|
|
|
virtual CRect8 GetMapRect();
|
|
|
|
|
|
|
|
|
|
|
|
virtual BYTE GetPointAttribute(int index,BYTE byteMask);
|
|
|
|
|
|
//CYAPropertyManager* GetPropertyManager();
|
|
|
|
|
|
|
|
|
|
|
|
CGDFSegment* GetSegment(int index);
|
|
|
|
|
|
void SetSegment(int index,CGDFSegment& segment);
|
|
|
|
|
|
int GetSegmentCount();
|
|
|
|
|
|
CString GetTypeName();
|
|
|
|
|
|
void SetTypeName(LPCTSTR str);
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>Segment<6E><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
virtual BOOL OnChanged(CGDFSegment* pSegment=NULL);//һ<><D2BB><EFBFBD><EFBFBD>Segment<6E>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>index0<78>ı<EFBFBD><C4B1><EFBFBD>
|
|
|
|
|
|
void SetManagerObject(CObject* pObject);
|
|
|
|
|
|
CObject* GetManagerObject();
|
|
|
|
|
|
//void SetModifyFlag(BOOL bValue);
|
|
|
|
|
|
virtual BOOL GetModifyFlag();
|
|
|
|
|
|
CString GetName();
|
|
|
|
|
|
BOOL SetName(LPCTSTR str);
|
|
|
|
|
|
BOOL GetVisible();
|
|
|
|
|
|
void SetVisible(BOOL bVisible);
|
|
|
|
|
|
double GetZoomFactor();
|
|
|
|
|
|
virtual void SetZoomFactor(double dZoomFactor);
|
|
|
|
|
|
|
|
|
|
|
|
void GetControlNodeIndexArray(CArray<POINTINDEX,POINTINDEX>& indexarray);
|
|
|
|
|
|
virtual void GetCurveEx(vector<CCurveEx*>& CurveVec,vector<CString>& faciescode);
|
|
|
|
|
|
|
|
|
|
|
|
friend class CGDFObjectCreator;
|
|
|
|
|
|
};
|
|
|
|
|
|
|