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

42 lines
776 B
C++

#pragma once
typedef AcArray<AcDbObjectId> ArObjID;
// 每一步操作包含的添加和删除的元素数组。
struct RoolStep
{
ArObjID arObjRemed;
ArObjID arObjAdded;
};
typedef AcArray<RoolStep, AcArrayObjectCopyReallocator<RoolStep> > ArAllStep;
class CCADEnt;
class CDataRoolBack
{
public:
// 清理所有保存的步骤
static void ClearAllStep();
// 新添加一步
static void AddNewStep();
// 添加一个删除的数据
static void AddRemoveData(AcDbObjectId &idRemoved);
// 添加一个新添加的数据
static void AddNewData(AcDbObjectId &idNew);
// 回退一步
static void RoolAStep();
private:
CDataRoolBack();
static ArAllStep m_steps;
};
// 添加需要回退的新数据。
AcDbObjectId RoolBackAddNewData(AcDbEntity *pEnt);
//删除,并且添加到回退数组
void RoolBackAddRemoveData(CCADEnt *pEnt);