ObjectARX, AutoCAD. Среда программирования библиотеки C++

       

Регистрация классов расширения протокола


Регистрировать расширение протокола классов с вашим приложением

1 Инициализируют ваш новый класс родителя расширения протокола и добавляют это к иерархии классов во время выполнения как показано в следующем примере:

AsdkEntTemperature:: rxInit ();

аcrxBuildClassHierarchy ();

Эта функция вызывает,  требованы для любого нового ObjectARX

класса, как описано в главе 11, при наследовании заказного ObjectARX

Класса. ”

2 Создают объект каждого класса расширения протокола и добавляют объекты к соответствующим AcRxClass дескрипторным объектам, использующим addX () функция как показано в следующем примере:

pDefaultTemp = new AsdkDefaultTemperature();

pRegionTemp = new AsdkRegionTemperature();

pCircleTemp = new AsdkCircleTemperature();

 // Добавить объекты расширения протокола к соответствующим объектам AcRxClass.

//

 AcDbEntity::desc()->addX(AsdkEntTemperature::desc (), pDefaultTemp);

 AcDbRegion::desc()->addX(AsdkEntTemperature::desc (), pRegionTemp);

 AcDbCircle::desc()->addX(AsdkEntTemperature::desc (), pCircleTemp);

Во время выполнения, ObjectARX создает структуру объекта описателя класса, которая включает основную ObjectARX иерархию классов также как объекты расширения протокола, связанные с ObjectARX объектами описателя класса. Следующее рисунок показывает структуру объекта описателя класса для классов, которые касаются AsdkEntTemperature примера в этой главе:



Содержание раздела