|
|
|
|
/*****************************************************************//**
|
|
|
|
|
* @file FITKAbsGeoDelete.h
|
|
|
|
|
* @brief 模型删除命令数据抽象类。
|
|
|
|
|
|
|
|
|
|
* @author ChengHaotian (yeguangbaozi@foxmail.com)
|
|
|
|
|
* @date 2024-09-06
|
|
|
|
|
*********************************************************************/
|
|
|
|
|
|
|
|
|
|
#ifndef FITKABSGEODELETE_H
|
|
|
|
|
#define FITKABSGEODELETE_H
|
|
|
|
|
|
|
|
|
|
#include "FITK_Kernel/FITKCore/FITKAbstractNDataObject.h"
|
|
|
|
|
|
|
|
|
|
#include "FITKGeoEnum.h"
|
|
|
|
|
#include "FITKAbsGeoCommand.h"
|
|
|
|
|
|
|
|
|
|
#include "FITKInterfaceGeometryAPI.h"
|
|
|
|
|
|
|
|
|
|
namespace Interface
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* @brief 模型删除数据命令数据抽象类。
|
|
|
|
|
* @author ChengHaotian (yeguangbaozi@foxmail.com)
|
|
|
|
|
* @date 2024-09-03
|
|
|
|
|
*/
|
|
|
|
|
class FITKInterfaceGeometryAPI FITKAbsGeoDelete : public Interface::FITKAbsGeoCommand
|
|
|
|
|
{
|
|
|
|
|
FITKCLASS(Interface, FITKAbsGeoDelete);
|
|
|
|
|
public:
|
|
|
|
|
/**
|
|
|
|
|
* @brief 构造函数。
|
|
|
|
|
* @author ChengHaotian (yeguangbaozi@foxmail.com)
|
|
|
|
|
* @date 2024-09-06
|
|
|
|
|
*/
|
|
|
|
|
FITKAbsGeoDelete() = default;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 析构函数。[虚函数]
|
|
|
|
|
* @author ChengHaotian (yeguangbaozi@foxmail.com)
|
|
|
|
|
* @date 2024-09-06
|
|
|
|
|
*/
|
|
|
|
|
virtual ~FITKAbsGeoDelete() = default;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 获取数据类型。[重写]
|
|
|
|
|
* @return 数据类型
|
|
|
|
|
* @author ChengHaotian (yeguangbaozi@foxmail.com)
|
|
|
|
|
* @date 2024-09-06
|
|
|
|
|
*/
|
|
|
|
|
FITKGeoEnum::FITKGeometryComType getGeometryCommandType() override;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 获取数据类型。[虚函数][重写]
|
|
|
|
|
* @return 是否更新成功
|
|
|
|
|
* @author ChengHaotian (yeguangbaozi@foxmail.com)
|
|
|
|
|
* @date 2024-09-06
|
|
|
|
|
*/
|
|
|
|
|
virtual bool update() override;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 执行撤销逻辑。(非必须)[虚函数][重写]
|
|
|
|
|
* @return 是否执行成功。
|
|
|
|
|
* @author ChengHaotian (yeguangbaozi@foxmail.com)
|
|
|
|
|
* @date 2024-09-06
|
|
|
|
|
*/
|
|
|
|
|
virtual bool undo() override;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 执行重做逻辑。(非必须)[虚函数][重写]
|
|
|
|
|
* @return 是否执行成功。
|
|
|
|
|
* @author ChengHaotian (yeguangbaozi@foxmail.com)
|
|
|
|
|
* @date 2024-09-06
|
|
|
|
|
*/
|
|
|
|
|
virtual bool redo() override;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 设置被移除命令ID。
|
|
|
|
|
* @param id:命令ID
|
|
|
|
|
* @author ChengHaotian (yeguangbaozi@foxmail.com)
|
|
|
|
|
* @date 2024-09-06
|
|
|
|
|
*/
|
|
|
|
|
void setDeleteCommandID(int id);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 获取被移除命令ID。
|
|
|
|
|
* @return 命令ID
|
|
|
|
|
* @author ChengHaotian (yeguangbaozi@foxmail.com)
|
|
|
|
|
* @date 2024-09-06
|
|
|
|
|
*/
|
|
|
|
|
int getDeleteCommandID();
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
/**
|
|
|
|
|
* @brief 被删除命令ID。
|
|
|
|
|
* @author ChengHaotian (yeguangbaozi@foxmail.com)
|
|
|
|
|
* @date 2024-09-06
|
|
|
|
|
*/
|
|
|
|
|
int m_deletedCmdId = -1;
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif // !FITKABSGEODELETE_H
|