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.
AppFlow/FITK_Interface/FITKInterfaceGeometry/FITKAbsGeoDelete.h

104 lines
3.0 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.

/*****************************************************************//**
* @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