前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ObjectARX中反应器的使用

ObjectARX中反应器的使用

作者头像
用户3519280
发布2023-07-24 18:12:15
发布2023-07-24 18:12:15
50400
代码可运行
举报
文章被收录于专栏:c++ 学习分享c++ 学习分享
运行总次数:0
代码可运行

ObjectARX中反应器的使用 反应器机制是观察者模式(设计模式)的一种实现,在该机制下,有事件通知者和事件接收者,负责接收事件的称为反应器 反应器列表:在反应器可以从通知者处接收消息之前,必须显式地将反应器添加到通知者的反应器列表中。 反应器部分类继承关系 种类:

编辑反应器:AcEditorReactor

实体反应器:AcDbEntityReactor

对象反应器:AcDbObjectReactor

图形数据库反应器:AcDbDatabaseReactor

文档管理反应器:AcApDocManagerReactor

根据反应器的基本性质,反应器被分为临时反应器和永久反应器。

临时反应器本身不是数据库对象,由开发者负责临时反应器的注册和卸载,用来监控数据库事件、用户操作以及其他的程序运行时的系统事件。

永久反应器是一个数据库的对象,由开发者创建并由AutoCAD负责删除,永久反应器可以接收及发送消息,可以被保存到DWG和DXF文件中,当图纸被加载的时候会重建永久反应器。用来实现对象之间的关联反应。

下面是一个永久反应器的例子:联动删除

自定义实体基类CthEntity继承ObjectArx里底层基类AcDbEntity。

重写自定义基类CthEntity的subErase()函数。

在subErase()函数里添加要联动删除的实体,一般以持久反应器实现联动。

删除实体触发Erase命令的subErase()函数

代码语言:javascript
代码运行次数:0
运行
复制
//zhaoanan subErase命令
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-07-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档