Files
envi-code/SourceCode/Code2026/PipelineCmd/DBReactorOfEquMke.h
T
2026-09-28 15:28:50 +08:00

41 lines
1.1 KiB
C++

#pragma once
#include <set>
#include "dbobjectoverrule.h"
#include "dbentityoverrule.h"
class CEntityOverrule : public AcDbObjectOverrule
{
public:
CEntityOverrule(const std::set<AcDbObjectId> &ids);
~CEntityOverrule();
ACRX_DECLARE_MEMBERS(CEntityOverrule);
virtual ACDB_PORT Acad::ErrorStatus erase( AcDbObject* pSubject, Adesk::Boolean erasing );
bool isApplicable(const AcRxObject* pOverruledSubject) const { return true; }
void getOverruleIds(std::set<AcDbObjectId> &ids) { ids = m_ids; }
static void addOverrule(const std::set<AcDbObjectId> &ids);
static void delOverrule();
static void getBindIds(std::set<AcDbObjectId> &ids);
public:
static CEntityOverrule *g_EntityOverrule;
private:
std::set<AcDbObjectId> m_ids; // 不可以被删除的ID
AcDbDatabase *m_pOwnerDb; // 绑定的数据库指针
};
namespace LayerTools
{
const CString g_sLayerName = _T("_dtyg_modify_layer_");
bool createNewLayer(LPCTSTR layer);
void deleteLayer(LPCTSTR layer);
void getAllLayers(std::set<CString> &layers);
void lockLayers(const std::set<CString> &layers, const bool &bLock);
bool setCLayer(LPCTSTR psz);
}