协议扩展示例提供了协议扩展的简单说明。它定义了一个“温度”属性协议扩展类。为 定义了默认实现,并为 and 定义了特定实现。AcDbEntityAcDbCircleAcDbRegion 该示例用作 ObjectARX 协议扩展机制的更复杂(和实际)使用的模型。此协议扩展的基类(称为)派生自。此类定义将由派生协议扩展类继承的虚拟函数,,,和。在此示例中,只有一个函数:协议扩展类的类层次结构如下图所示:AsdkEntTemperatureAcRxObjectAsdkDefaultTemperatureAsdkCircleTemperatureAsdkRegionTemperaturereflectedEnergy() 使用协议扩展的第一步是声明和定义每个协议扩展类。基类是使用宏定义的抽象基类。此类最终将注册为 ObjectARX 类层次结构的一部分。AsdkEntTemperatureACRX_NO_CONS_DEFINE_MEMBERS() 子类是使用标准C++语法定义的,用于派生新类。这些类不应在 ObjectARX 类层次结构中注册,因此不需要对它们使用 ObjectARX 宏。 对于每个类,您实现构成协议扩展的函数。在此示例中,每个类只有一个函数,用于计算实体的温度。reflectedEnergy() |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:05
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.