为了确保保留被覆盖函数的基本功能,ObjectARX在提供相应的虚函数的同时密封了许多常用函数。在运行时,AutoCAD调用密封函数,而密封函数又调用虚拟函数,您可以覆盖这些函数以修改自定义图元的默认行为。 ® AcDbEntity ® 虚函数的签名与基函数相同;只有函数名称前面加上“sub”。例如,为显示实体而调用的密封基函数的签名如下所示: ACDB_PORT Adesk::Boolean worldDraw( AcGiWorldDraw * wd ); 自定义实体必须覆盖的虚拟函数的签名如下所示: virtual Adesk::Boolean subWorldDraw( AcGiWorldDraw* pWd ); 危险:
如果需要从自定义实体实现调用此组中的其他函数之一,请确保调用密封的基函数。但是,不要从相应的虚拟调用密封的基函数,例如访问基实现,因为这会导致堆栈溢出。 |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:30
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.