You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.8 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#pragma once
/*
20250509
增加CEmbedPcg图元可以在平面图中包装单井、剖面等图元,当平面图导入单井柱、剖面时这些图元都装入CEmbedPcg对象。
目前每个CEmbedPcg只包含一个扩展图元。
注意在单井、剖面等独立模块中打开这些图元时不需要使用CEmbedPcg, 单井、剖面对象直接引入到xy中
*/
#include "BaseExtend.h"
#include "PathXy.h"
class CBaseExtendTypeEmbedPcg : public CBaseExtendType
{
public:
CBaseExtendTypeEmbedPcg(void);
virtual CBaseExtend* CreateExtendObject(int nType); //根据指定类型生成对像类型ID号必须>=100
virtual int GetExtendType(LPCTSTR lpszKey); //根据指定字符串生成对像类型类型ID号必须>=100
};
////////////////////////////////////////////////////////////
class CBaseExtendTypeEmbedPcgUitility
{
public:
CBaseExtendTypeEmbedPcgUitility();
virtual ~CBaseExtendTypeEmbedPcgUitility();
};
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
class AFX_EXT_CLASS CEmbedPcg : public CBaseExtend, public CXyBlock
{
public:
CEmbedPcg();
virtual ~CEmbedPcg();
public:
virtual int ReadPCG(CFile &fr, const short &ver);
void WritePCG(CFile &fw, const short& ver, int nBaseTabNum);
virtual void Serialize(CArchive& ar, const short& ver) override;
void Write(CFile &fw, const short& ver);
virtual int Read(CFile& fr, const short& ver);
void operator=(CEmbedPcg& pn);
virtual BOOL IsInRange(CRect8& range);
virtual void Draw(CXyDC& dc);
virtual void Draw(CXyDC& dc, void* pHowToView);
virtual void Transform(CXyDC* pDC, float* matrix, BOOL bUndo);
virtual void GetRange(CRect8& range);
virtual void GetRange(CPoint3D& minPoint, CPoint3D& maxPoint);
virtual CBaseExtend* CreateClone();
protected:
void OffsetExtendObjs(CXy* xy, CRect8 rect); //ggff2025,平面图引入井或剖面时,由于这些图元只存储相对位置,因此要偏移一下
public:
virtual int ReadPCG(void *pxp, const short &ver);
};